Russian Qt Forum
Сентябрь 30, 2024, 06:38 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QDockWidget и скроллинг  (Прочитано 5191 раз)
carhun
Гость
« : Июнь 21, 2012, 18:02 »

Добрый день.

Подскажите как сделать так что бы в QDockwidget'e скроллинг работал только когда я нажимаю только нажимаю на ползунок, к-ый появляется справа, когда то, что находится в  QDockwidget'e не влазит полностью...

Просто мне надо, что бы когда я скроллю колесико мышки ничего не происходило со стороны QDockWidget'a, т.к. колесико мышки я использую для зума плотов с графиками, к-ые находятся внутри QDockwidget'а.

Спасибо за внимение.
С уважением,
 carhun
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #1 : Июнь 21, 2012, 18:07 »

В QDockWidget нет никакого скроллинг-а.
Скорее-всего речь идёт про производного от QAbstractScrollArea.
Показывай картинку с детализацией и пожеланиями.
Записан

Qt 5.11/4.8.7 (X11/Win)
carhun
Гость
« Ответ #2 : Июнь 21, 2012, 23:44 »

Да, извеняюсь, именно про QAbstractScrollArea я говорю...

Я хочу, что бы сам Scrool, к-ый появляется справа, можно было управлять только если я подвел курсор мышки к нему и начал его двигать, но ни в коем случаи, когда я кручу колесико мышки вверх/вниз...

Картинки, если надо пришлю завтра, если не понятно...

С уважением,
 carhun

P.S : вот картинка, стрелочка указывает на ползунок с к-м я хочу бороться....=) Вернее я хочу, что бы если я кручу колесико этот ползунок никак не реагировал.
« Последнее редактирование: Июнь 22, 2012, 09:24 от carhun » Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #3 : Июнь 22, 2012, 10:24 »

Перегружай
Код
C++ (Qt)
void QAbstractScrollArea::wheelEvent ( QWheelEvent * e ) [virtual protected]
Записан

Qt 5.11/4.8.7 (X11/Win)
carhun
Гость
« Ответ #4 : Июнь 22, 2012, 12:04 »

Это я так понимаю для начала мне надо унаследоваться от QAbstractScrollArea, переопределить wheelEvent(), а потом уже подсунуть то что я унаследовал в QDockWidget?

И я вот смотрю исходники Qt, так QDockWidget вроде не использует QAbstractScrollArea::wheelEvent () или я что-то не правильно понял.

С уважением,
 carhun
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #5 : Июнь 22, 2012, 12:12 »

Это я так понимаю для начала мне надо унаследоваться от QAbstractScrollArea, переопределить wheelEvent(), а потом уже подсунуть то что я унаследовал в QDockWidget?
бррр... ахинея какая-то

Перегружать wheelEvent() нужно скорее-всего от производного QGraphicsView. На нём же график рисуется?
Причём здесь вообще QDockWidget Непонимающий
Почему бы просто не прочитать его описание и предназначение, не ковыряться в его исходниках Непонимающий
« Последнее редактирование: Июнь 22, 2012, 12:14 от GreatSnake » Записан

Qt 5.11/4.8.7 (X11/Win)
carhun
Гость
« Ответ #6 : Июнь 22, 2012, 12:14 »

График рисуется на QwtPlot'e, к-ый запихнен в QDockWidget...

соотв у меня есть набор этих QDockWidget'в, каждый из к-ых хранит какое-то к-во QwtPlot'в...
И получается когда QDockWidget полностью не влазит на экран у него появляется ползунок...
« Последнее редактирование: Июнь 22, 2012, 12:29 от carhun » Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #7 : Июнь 22, 2012, 12:27 »

График рисуется на QwtPlot'e, к-ый запихнен в QDockWidget...
Что-то не очень верится. Похоже между QDockWidget и QwtPlot есть QScrollArea.
Записан

Qt 5.11/4.8.7 (X11/Win)
carhun
Гость
« Ответ #8 : Июнь 22, 2012, 12:37 »

Я точно сам отдельно не создавал.
Все, что я сделал это:

Код:
    addDockWidget(Qt::BottomDockWidgetArea, myDockWidget, Qt::Vertical);
где myDockWidget наследуется от QDockWidget и в private объявден QwtPlot...
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #9 : Июнь 22, 2012, 12:43 »

где myDockWidget наследуется от QDockWidget и в private объявден QwtPlot...
И каким образом приватное объявление сказывается на иерархию виджетов?
Смотри в исходниках класса для myDockWidget что ему подсовывается через setWidget(). Уверен, что не QwtPlot.
Записан

Qt 5.11/4.8.7 (X11/Win)
carhun
Гость
« Ответ #10 : Июнь 22, 2012, 12:50 »

в setWidget() я ему пихаю класс, к-ый унаследован от QTreeWidgetItem...

черт, и это был именно его ползунок.

СПАСИБО, за помощь!

С уважением,
 carhun
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #11 : Июнь 22, 2012, 12:53 »

в setWidget() я ему пихаю класс, к-ый унаследован от QTreeWidgetItem...
QTreeWidgetItem Непонимающий Ну-что за ламерство такое? Просто слов нет... Грустный
Записан

Qt 5.11/4.8.7 (X11/Win)
carhun
Гость
« Ответ #12 : Июнь 22, 2012, 14:27 »

Извеняюсь, опечатался не QTreeWidgetItem, a QTreeWidget...

Просто мне нужно было, что бы можно было делать вложенных графиков и для этого вроде хорошо подходит QTreeWidget, разве нет?

а почему ламерство?
« Последнее редактирование: Июнь 22, 2012, 14:30 от carhun » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.067 секунд. Запросов: 23.