Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: carhun от Июнь 21, 2012, 18:02



Название: QDockWidget и скроллинг
Отправлено: carhun от Июнь 21, 2012, 18:02
Добрый день.

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

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

Спасибо за внимение.
С уважением,
 carhun


Название: Re: QDockWidget и скроллинг
Отправлено: GreatSnake от Июнь 21, 2012, 18:07
В QDockWidget нет никакого скроллинг-а.
Скорее-всего речь идёт про производного от QAbstractScrollArea.
Показывай картинку с детализацией и пожеланиями.


Название: Re: QDockWidget и скроллинг
Отправлено: carhun от Июнь 21, 2012, 23:44
Да, извеняюсь, именно про QAbstractScrollArea я говорю...

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

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

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

P.S : вот картинка, стрелочка указывает на ползунок с к-м я хочу бороться....=) Вернее я хочу, что бы если я кручу колесико этот ползунок никак не реагировал.


Название: Re: QDockWidget и скроллинг
Отправлено: GreatSnake от Июнь 22, 2012, 10:24
Перегружай
Код
C++ (Qt)
void QAbstractScrollArea::wheelEvent ( QWheelEvent * e ) [virtual protected]


Название: Re: QDockWidget и скроллинг
Отправлено: carhun от Июнь 22, 2012, 12:04
Это я так понимаю для начала мне надо унаследоваться от QAbstractScrollArea, переопределить wheelEvent(), а потом уже подсунуть то что я унаследовал в QDockWidget?

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

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


Название: Re: QDockWidget и скроллинг
Отправлено: GreatSnake от Июнь 22, 2012, 12:12
Это я так понимаю для начала мне надо унаследоваться от QAbstractScrollArea, переопределить wheelEvent(), а потом уже подсунуть то что я унаследовал в QDockWidget?
бррр... ахинея какая-то

Перегружать wheelEvent() нужно скорее-всего от производного QGraphicsView. На нём же график рисуется?
Причём здесь вообще QDockWidget ???
Почему бы просто не прочитать его описание и предназначение, не ковыряться в его исходниках ???


Название: Re: QDockWidget и скроллинг
Отправлено: carhun от Июнь 22, 2012, 12:14
График рисуется на QwtPlot'e, к-ый запихнен в QDockWidget...

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


Название: Re: QDockWidget и скроллинг
Отправлено: GreatSnake от Июнь 22, 2012, 12:27
График рисуется на QwtPlot'e, к-ый запихнен в QDockWidget...
Что-то не очень верится. Похоже между QDockWidget и QwtPlot есть QScrollArea.


Название: Re: QDockWidget и скроллинг
Отправлено: carhun от Июнь 22, 2012, 12:37
Я точно сам отдельно не создавал.
Все, что я сделал это:

Код:
    addDockWidget(Qt::BottomDockWidgetArea, myDockWidget, Qt::Vertical);
где myDockWidget наследуется от QDockWidget и в private объявден QwtPlot...


Название: Re: QDockWidget и скроллинг
Отправлено: GreatSnake от Июнь 22, 2012, 12:43
где myDockWidget наследуется от QDockWidget и в private объявден QwtPlot...
И каким образом приватное объявление сказывается на иерархию виджетов?
Смотри в исходниках класса для myDockWidget что ему подсовывается через setWidget(). Уверен, что не QwtPlot.


Название: Re: QDockWidget и скроллинг
Отправлено: carhun от Июнь 22, 2012, 12:50
в setWidget() я ему пихаю класс, к-ый унаследован от QTreeWidgetItem...

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

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

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


Название: Re: QDockWidget и скроллинг
Отправлено: GreatSnake от Июнь 22, 2012, 12:53
в setWidget() я ему пихаю класс, к-ый унаследован от QTreeWidgetItem...
QTreeWidgetItem ??? Ну-что за ламерство такое? Просто слов нет... :(


Название: Re: QDockWidget и скроллинг
Отправлено: carhun от Июнь 22, 2012, 14:27
Извеняюсь, опечатался не QTreeWidgetItem, a QTreeWidget...

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

а почему ламерство?