当我的应用程序运行时,如果用户注销,我想弹出一个窗口显示一些信息并确认注销
class MyApp(QtWidgets.QApplication):
def __init__(self, *args, **kwargs):
super(MyApp, self).__init__(*args, **kwargs)
self.commitDataRequest.connect(lambda manager: self.commitData(manager))
@QtCore.pyqtSlot(QtGui.QSessionManager)
def commitData(self, manager):
print 'shutdown'
if __name__ == '__main__':
qapplication = MyApp(sys.argv)
QtWidgets.QApplication.setQuitOnLastWindowClosed(False) #interaction through tray icon
application.exec_()
问题在于它没有进入那种插槽方法。
我的应用没有主窗口,其界面通过托盘图标。
答案 0 :(得分:0)
你需要骑过你的QtWidget:
def closeEvent(self, event):
quit_msg = "Are you sure you want to exit the program?"
reply = QtGui.QMessageBox.question(self, 'Message',
quit_msg, QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)
if reply == QtGui.QMessageBox.Yes:
event.accept()
else:
event.ignore()
答案 1 :(得分:-1)