Название: Scrooling двух елементов одновременно. Отправлено: JamS007 от Декабрь 31, 2009, 00:42 Здравствуйте,
Я использую 2е таблицы, и мне нужно их синхронизировать... Подскажите, как сделать, чтоб при скроллинге одной из них, другая прокручивалась автоматически и в соответствии предыдущей... Спасибо. Название: Re: Scrooling двух елементов одновременно. Отправлено: Kolobok от Декабрь 31, 2009, 01:36 Код: connect( table1->verticalScrollBar(), SIGNAL( valueChanged( int ) ), table2->verticalScrollBar(), SLOT( setValue( int ) ) ); Это вопрос для раздела новичков. Название: Re: Scrooling двух елементов одновременно. Отправлено: JamS007 от Декабрь 31, 2009, 13:19 может быть... не спорю, Qt только учу. Но Ваш пример не работает.
вот код: Код: QObject::connect(ui->namesWidget->verticalScrollBar(), SIGNAL(valueChanged(int)),ui->marksWidget->verticalScrollBar(), SLOT(setValue(int))); а вот реакция компилятора: Цитировать error: no matching function for call to 'MainWindow::connect(QScrollBar*, const char*, QScrollBar*, const char*)' Название: Re: Scrooling двух елементов одновременно. Отправлено: Dendy от Декабрь 31, 2009, 13:26 Что такое MainWindow?
Название: Re: Scrooling двух елементов одновременно. Отправлено: JamS007 от Декабрь 31, 2009, 13:33 MainWindow - класс главного окна, привязку сигналов и слотов скроллбаров делаю в конструкторе класса:
код главного окна Код: #include "mainwindow.h" класс главного окна: Код: #ifndef MAINWINDOW_H Название: Re: Scrooling двух елементов одновременно. Отправлено: JamS007 от Декабрь 31, 2009, 13:48 Решение нашел.
Код: ui->marksWidget->setVerticalScrollBar(ui->namesWidget->verticalScrollBar()); работает на ура. Название: Re: Scrooling двух елементов одновременно. Отправлено: pastor от Декабрь 31, 2009, 13:52 Название: Re: Scrooling двух елементов одновременно. Отправлено: Dendy от Декабрь 31, 2009, 14:01 Мне кажется что таким образом из namesWidget скроллбар исчезнет. Поправьте, если ошибаюсь.
Название: Re: Scrooling двух елементов одновременно. Отправлено: JamS007 от Декабрь 31, 2009, 14:19 действительно, оказалось, что исчез :) Будем поправлять.
Название: Re: Scrooling двух елементов одновременно. Отправлено: Dendy от Декабрь 31, 2009, 14:42 Попробуйте как посоветовал Пастор, добавить #include <QScrollBar> в mainwindow.cpp. Компилятор видит этот тип только по предварительному обьявлению, следовательно без этого инклуда он не знает, что QScrollBar наследуется от QObject, вот и выдаёт ошибку.
Название: Re: Scrooling двух елементов одновременно. Отправлено: JamS007 от Декабрь 31, 2009, 14:50 Всё. Разобрался. Всем большое спасибо.
P.S. Метод с #include <QScrollBar> действительно решил проблему. |