我正在开发一个将"在托盘中运行"的应用程序,并向用户显示对话框(这些对话是模态)
我遇到的问题是,当用户关闭对话框(使用accept()
或reject()
)时,主窗口(模态对话框的父)隐藏了整个应用程序!
无调对话没有问题
我现在正在使用的解决方法是首先在父(主窗口)上调用show()
是否有另一种更好的方法来解决或避免此问题?,还是我已经使用了一种处理此问题的方法?
我正在使用PYQT 5.7.1(与QT版本相同),并且在Lubuntu上运行16.04 64位
感谢帮助!
您只需要将quitOnLastWindowClosed
上的CC_4属性设置为False
,如我所示::
if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
if not QSystemTrayIcon.isSystemTrayAvailable():
QMessageBox.critical(None, "Systray",
"I couldn't detect any system tray on this system.")
sys.exit(1)
QApplication.setQuitOnLastWindowClosed(False)
window = yourDialog()
window.show()
sys.exit(app.exec_())