我有一个QMainWindow
,它是由另一个应用程序启动的。
问题是,在多显示器设置中,启动 my 的应用程序QMainWindow
可能位于第三个屏幕上,但我的窗口将始终在第一个屏幕上启动。
我通过以下方式解决了这个问题......
QDesktopWidget *m = new QDesktopWidget();
QPoint p= QCursor::pos();
int r= m->screenNumber(p); //get the screennumber where the mouse is
QRect d=m->screenGeometry(r);
QPoint l = d.center(); //not the correct solution
mainWin->move(l); //move the window to that screen
mainWin->show(); //launch
现在,我如何在屏幕中央启动这个窗口。d.center()
不是正确的方法,因为窗口的左上角将从中心点启动,因此会被遮挡。
好心提醒。