10

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

该平台是Windows 7,我正在使用Qt。

我试过了:

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

没有运气。有什么提示吗?

4

1 回答 1

3

尝试msgBox->raise();将在任务栏中通知用户,使用setWindowFlags(Qt::WindowStaysOnTopHint);您最终可以使其保持在顶部(evtl.minimize/restore)。但是,不依赖于操作系统的窗口管理器在设计上不应允许任何应用程序仅“窃取”另一个应用程序的焦点,因此用户仍然需要激活(单击)您的窗口以获得焦点。

于 2014-05-07T09:09:30.383 回答