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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: mouse move  (Прочитано 3230 раз)
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
эта функция не вызывается.

Записан
alexman
Гость
« Ответ #1 : Февраль 02, 2011, 23:15 »

Если правильно понял, то вам нужно отлавливайть движения мыши для frame.
Записан
_govorilka
Гость
« Ответ #2 : Февраль 03, 2011, 07:01 »

Сделай наследника класса QFrame. У него переопредели mouseMoveEvent(), и затем положи его в scrollArea.

Если ты хочешь рисовать внутри scrollArea, то лучше взять QGraphicsView, там много работы уже сделано.
Записан
alexman
Гость
« Ответ #3 : Февраль 03, 2011, 09:36 »

Сделай наследника класса QFrame. У него переопредели mouseMoveEvent(), и затем положи его в scrollArea.
Можно и без наследника... void QObject::installEventFilter ( QObject * filterObj )
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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