我创建了一个与全屏应用程序一起运行的程序。我希望我的程序中的QMessageBox显示在全屏运行的应用程序之上。
该平台是Windows 7,我正在使用Qt。
我试过了:
QMessageBox *msgBox = new QMessageBox;
msgBox->setParent(0);
msgBox->setWindowTitle(title);
msgBox->setText(text);
msgBox->setWindowFlags(Qt::WindowStaysOnTopHint);
msgBox->show();
没有运气。任何提示?
答案 0 :(得分:2)
尝试msgBox->raise();
会在任务栏中通知用户,使用setWindowFlags(Qt::WindowStaysOnTopHint);
最终可以使其保持最佳状态(evtl。最小化/恢复)。
但是窗口管理员,不依赖于操作系统,不应该允许任何应用程序只是“偷”"来自另一个应用程序的焦点,因此用户仍然需要激活(单击)您的窗口以获得焦点。