【发布时间】:2014-06-24 03:22:22
【问题描述】:
我创建了一个与应用程序一起全屏运行的程序。我希望我的程序中的 QMessageBox 显示在全屏运行的应用程序之上。
平台是 Windows 7,我使用的是 Qt。
我试过了:
QMessageBox *msgBox = new QMessageBox;
msgBox->setParent(0);
msgBox->setWindowTitle(title);
msgBox->setText(text);
msgBox->setWindowFlags(Qt::WindowStaysOnTopHint);
msgBox->show();
没有运气。有什么提示吗?
【问题讨论】:
-
您需要使用 exec(),因此请调用:
msgBox->exec();。 -
谢谢你,但很遗憾没有用。该窗口停留在当前活动窗口的后面。
-
然后,将按摩框的父级设置为当前活动窗口。
-
全屏运行的应用程序不是我的。我可以使用 Qt 将父级设置为活动窗口,还是必须使用 winapi?
-
是的,你可以。您需要将指针设置为活动窗口,而不是
msgBox->setParent(0);中的 null。你能得到吗?那个窗口是什么?请提供更多详细信息。
标签: qt dialog qmessagebox