Bonjour,
J'ai une fenêtre QT assez simple: elle contient uniquement un QGLWidget.
Main:
Ma "Window" qui dérive de QWidget:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 int main(int argc, char *argv[]) { QApplication app(argc, argv); Window window; window.setMouseTracking(true); window.move(0, 0); window.resize(600, 600); window.show(); return app.exec(); }
J'aimerai pouvoir bouger le curseur de la souris à une certaine position sur la fenêtre, j'ai donc fait ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Window::Window() { glWidget = new GLWidget(this); glWidget->setMouseTracking(true); QHBoxLayout *mainLayout = new QHBoxLayout; mainLayout->addWidget(glWidget); mainLayout->setMargin(0); setLayout(mainLayout); }
Ce code source fonctionne très bien environ 1 fois sur 5. Parfois, la géometrie 'topLeft' me retourne "0" alors que j'ai bien une fenêtre avec une barre au-dessus
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 void MyClass::moveMouse(int x, int y) { QCursor::setPos(window->geometry().topLeft().x()+x, window->geometry().topLeft().y()+y); }
Est-ce un bug dans QT ou est-ce que j'ai fait quelque chose de mal ?
Merci d'avance.
Partager