Название: mouse move Отправлено: pavlov от Февраль 02, 2011, 23:02 Всем привет!
Есть QMainWindow на который помещен виджет QScrollArea. MyWindow::MyWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MyWindow) { ui->setupUi(this); QFrame *frame = new QFrame(); ... ui->scrollArea->setWidget(frame); } Мне необходимо обрабатывать перемещение указателя мыши над ui->scrollArea но QScrollArea не генерирует подходящий сигнал. Как решить данную задачу? Пробовал переопределять функцию void mouseMoveEvent(QMouseEvent* event); у MyWindow, но при этом когда курсор мыши перемещается над scrollArea эта функция не вызывается. Название: Re: mouse move Отправлено: alexman от Февраль 02, 2011, 23:15 Если правильно понял, то вам нужно отлавливайть движения мыши для frame.
Название: Re: mouse move Отправлено: _govorilka от Февраль 03, 2011, 07:01 Сделай наследника класса QFrame. У него переопредели mouseMoveEvent(), и затем положи его в scrollArea.
Если ты хочешь рисовать внутри scrollArea, то лучше взять QGraphicsView, там много работы уже сделано. Название: Re: mouse move Отправлено: alexman от Февраль 03, 2011, 09:36 Сделай наследника класса QFrame. У него переопредели mouseMoveEvent(), и затем положи его в scrollArea. Можно и без наследника... void QObject::installEventFilter ( QObject * filterObj ) |