Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > координаты мыши относительно выиджета


Автор: gordmiand 6.2.2011, 00:00
Код

MainWindow::MainWindow(QWidget *parent) :  QMainWindow(parent)
{
    setupUi(this);

    this->setMouseTracking(true);
}

////////////////////////////////////////////////////////////////
void MainWindow::mouseMoveEvent(QMouseEvent *ev)
{
        qDebug() << ev->pos().x() << ev->pos().y();
}


1. Почему даже при использовании (может "неверном"?) в вышеуказанном коде метода setMouseTracking координаты мыши выводятся только при передвижении мыши с зажатой ее левой кнопкой мыши?
2. Вышеуказанный код выводит координаты мыши относительно левого верхнего угла формы приложения - а как можно получить текущие координаты мыши относительно какого-либо виджета этой формы (например лейбла)? подскажите пож-та на вышеприведенном примере...

Автор: Batbko 6.2.2011, 11:46
На первую часть вопроса отвечу :
Т.к QMainWindow это по большей части рамка вокруг центрального виджета, то нужно у центрального виджета тоже включить mouseTracking
Код

MainWindow::MainWindow(QWidget *parent) :  QMainWindow(parent)
{
    setupUi(this);

    this->setMouseTracking(true);
    this->centralWidget()->setMouseTracking(true);
}


А вторая часть вопроса геометрия и математика, так что сам разберёшся smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)