如何在所有窗口的顶部显示QMessageBox



我创建了一个与应用程序一起全屏运行的程序。我希望QMessageBox从我的程序显示在应用程序的顶部,在全屏运行。

平台是Windows 7,我使用的是Qt。

I have try:

QMessageBox *msgBox = new QMessageBox;
msgBox->setParent(0);
msgBox->setWindowTitle(title);
msgBox->setText(text);
msgBox->setWindowFlags(Qt::WindowStaysOnTopHint);
msgBox->show();

运气不好。有提示吗?

尝试msgBox->raise();将在任务栏通知用户,使用setWindowFlags(Qt::WindowStaysOnTopHint);您最终可以使它保持在最上面(evtl)。最小化/恢复)。但是一个不依赖于操作系统的窗口管理器,在设计上不应该允许任何应用程序从另一个应用程序那里"窃取"焦点,因此用户仍然需要激活(点击)你的窗口来获得焦点。

最新更新