sys.exit(app.exec_())
46
if
__name__
==
'
__main__
'
:
47
main()
此外由于有需求多次使用,简单为它写了个装饰器。
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 # @Date : 2016-06-01 14:56:42
4 # @Author : Nevermoreluo (nevermoreluo@gmail.com)
5 '''
6 作用:
7 为关闭窗口事件提供一个弹出框
8 使用方法:
9 调用导入close_Event,
10 用 @close_Event 装饰类即可
12 '''
14 def close_Event(cls):
15 from PySide import QtGui
16 # 装饰器为QWidget,QMainWindow类或子类设置关闭窗口
17 def opfunc(self, event):
18 # 将弹出窗口的结果赋值给reply
19 reply = QtGui.QMessageBox.question(self, 'Message',
20 u"确定要退出吗?",
21 QtGui.QMessageBox.Yes |
22 QtGui.QMessageBox.No,
23 QtGui.QMessageBox.No)
24 # 检验用户返回,并返回对应的结果
25 if reply == QtGui.QMessageBox.Yes:
26 event.accept()
27 else:
28 event.ignore()
29 # 将函数赋值给类的closeEvent方法
30 setattr(cls, 'closeEvent', opfunc)
31 return cls