У меня проблема с отслеживанием движений мыши в QMainWindow
. У меня есть кнопка buttonGenerate
. Вот код для MainWindow
class MainWindow : public QMainWindow, private Ui::MainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
protected:
void mouseMoveEvent(QMouseEvent *);
private slots:
void on_buttonGenerate_toggled(bool checked);
};
void MainWindow::mouseMoveEvent(QMouseEvent *event)
{
label_5->setText(tr("%1 %2 %3")
.arg(event->x())
.arg(event->y())
.arg(hasMouseTracking()));
event->ignore();
}
void MainWindow::on_buttonGenerate_toggled(bool checked)
{
buttonGenerate->setText(checked
? tr("Stop")
: tr("Start"));
setMouseTracking(checked);
}
Когда кнопка включена, мышь следует отслеживать, и ее координаты X & Y вместе с тем, включено или нет отслеживание, должны отображаться в label_5
. Когда кнопка выключена, отслеживание мыши должно быть отключено, а label_5 не обновляется. Это не тот случай.
Независимо от того, нажата ли кнопка, мышь не отслеживается. Только когда я удерживаю кнопку мыши, label_5
будет обновляться, и это независимо от того, активен ли setMouseTracking(bool)
.
Любое понимание будет с благодарностью.