我的应用程序在启动时会创建一种“启动画面”,其中包含打开、新建等的快速访问按钮……这个启动窗口位于屏幕中间,应用程序主窗口位于其后面。
这是执行此操作的代码:
void MainWindowButtonDialog::showMe()
{
setModal(false);
setWindowFlags(
#ifdef Q_WS_WIN
Qt::SplashScreen |
#endif
Qt::CustomizeWindowHint | Qt::WindowStaysOnTopHint);
QDesktopWidget *d = QApplication::desktop();
QRect t = d->availableGeometry(this);
move(mapToGlobal(this->geometry().topLeft()).x() + t.center().x() - width() / 2,
t.center().y()- height() / 2);
show();
raise();
}
但是,当应用程序在两个监视器设置上运行时,我遇到了一些问题。发生的情况如下:无论应用程序从何处启动,启动画面总是在第一个屏幕上创建。因此,如果窗口管理器决定在第二个屏幕上打开应用程序,则启动屏幕将在第一个屏幕的中间很远......这很丑:(
知道如何解决这个问题吗?