显示在主窗口弹出吗?

时间:2019-07-18 16:26:38

标签: python pyqt4 qmessagebox

当前,我正在Chrome上构建一个网络自动化应用程序,以帮助我自动化一些任务。并且在运行过程中,如果程序遇到错误或完成工作,它将显示错误消息或通知。为此,我正在使用QmessageBox。但是,这里出现一个问题,当我运行应用程序并切换为做其他工作时(例如:看电影,...),弹出窗口没有显示在主窗口上,并且似乎被隐藏了。我必须最小化主窗口才能看到它。所以我想找到一个解决方案,例如QmessageBox的选项或在主窗口中弹出的内容。感谢您的帮助。

这是我的代码

def message(title, info, icon_path='ac_solution.ico'):
    message_box = QtGui.QMessageBox()
    message_box.setText(info)
    message_box.setWindowTitle(title)
    message_box.setWindowIcon(QtGui.QIcon(icon_path))
    message_box.setIconPixmap(QtGui.QPixmap(icon_path))
    message_box.exec_()

1 个答案:

答案 0 :(得分:1)

您可能正在寻找的是窗口“模态”,这意味着窗口是其父窗口的“模态”,拥有鼠标/键盘交互的所有权,直到关闭对话框,该鼠标/键盘交互才会在父窗口传递。

尚不清楚您的message是静态函数还是应用程序或主窗口的方法,但是如果您需要这种行为,则需要

>
message_box = QtGui.QMessageBox(parent)

通过这种方式,您将有一个模态消息框,该消息框将始终位于父级的前面(例如,主窗口)。