crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Синхронизация двух QScrollArea.
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
lanz Дата 10.2.2015, 9:19
  В ui_mainwindow.h обычно #include <QScrollArea> в котором QScrollBar forward-declared. А при вызове connect требуется знать что это наследник QObject.
Valter Дата 9.2.2015, 22:30
  Проблема решена, действительно, достаточно было добавить #include <QScrollBar>. А ведь в ui_mainwindow.h такое включение уже было, странно.
lanz Дата 8.2.2015, 21:07
  Добавьте в начало файла
#include <QScrollArea>
#include <QScrollBar>
Valter Дата 8.2.2015, 18:30
 
Цитата(lanz @ 8.2.2015, 17:39) *
Покажите код конструктора.

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    connect(ui->scrollArea_1->verticalScrollBar(), SIGNAL(sliderMoved(int)), this, SLOT(scrollMoved(int)));
}
lanz Дата 8.2.2015, 17:39
  Покажите код конструктора.
На всякий случай: проверьте от чего наследуется MainWindow (это должен быть QMainWindow или QWidget), проверьте что определен макрос Q_OBJECT.
Valter Дата 7.2.2015, 21:56
 
Цитата(lanz @ 7.2.2015, 21:22) *
Видимо вы делаете это в функции, которая объявлена как const.


Делаю в конструкторе QMainWindow, который объявлен вот так:
public:
    explicit MainWindow(QWidget *parent = 0);
lanz Дата 7.2.2015, 21:22
 
MainWindow* const

Видимо вы делаете это в функции, которая объявлена как const.
Уберите модификатор const и все должно получится.
Valter Дата 7.2.2015, 10:46
 
Цитата(wiz29 @ 6.2.2015, 17:53) *
В чем проблема?


В том, что сделать это не получается.
В строке
connect(ui->scrollArea_1->verticalScrollBar(), SIGNAL(sliderMoved(int)), this, SLOT(scrollMoved(int)));
выдаётся ошибка
no matching function for call to 'MainWindow::connect(QScrollBar*, const char*, MainWindow* const, const char*).
wiz29 Дата 6.2.2015, 17:53
  Получить QScrollBar для каждой из областей и присоединить сигналы слоты соответствующие. В чем проблема?
Valter Дата 6.2.2015, 16:49
  Как синхронизировать по прокрутке два одинаковых QScrollArea? То есть, двигаем вертикальный скролл у одного, второй прокручивается в ту же позицию и наоборот.
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 28.3.2024, 15:42