当前,我正在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_()
答案 0 :(得分:1)
您可能正在寻找的是窗口“模态”,这意味着窗口是其父窗口的“模态”,拥有鼠标/键盘交互的所有权,直到关闭对话框,该鼠标/键盘交互才会在父窗口传递。
尚不清楚您的message
是静态函数还是应用程序或主窗口的方法,但是如果您需要这种行为,则需要。
message_box = QtGui.QMessageBox(parent)
通过这种方式,您将有一个模态消息框,该消息框将始终位于父级的前面(例如,主窗口)。