PyQt4 <1>

QWidget 窗口组件是PyQt4中所有用户界面对象的基类,我们使用 QWidget 默认的构造,没有父亲。没有父亲的窗口组件称为窗体。

1> widget = QtGui.QWidget() #面向过程

 1 import sys
 2 from PyQt4 import QtGui
 3 
 4 app = QtGui.QApplication(sys.argv)
 5 
 6 widget = QtGui.QWidget()
 7 widget.resize(200, 400)
 8 widget.setWindowTitle('simple')
 9 widget.setWindowIcon(QtGui.QIcon('icons/farmer_72px.png'))
10 widget.show()
11 
12 sys.exit(app.exec_())

 

2> class widget(QtGui.QWidget) #面向对象

 

 1 import sys
 2 from PyQt4 import QtGui
 3 
 4 class Widget(QtGui.QWidget):
 5     def __init__(self, parent=None):
 6         QtGui.QWidget.__init__(self, parent)
 7         self.setGeometry(300, 300, 250, 150)
 8         self.setWindowTitle('Icon')
 9         self.setWindowIcon(QtGui.QIcon('icons/farmer_72px.png'))
10 
11 app = QtGui.QApplication(sys.argv)
12 widget = Widget()
13 widget.show()
14 sys.exit(app.exec_())

 

 

#点击按钮退出

1 Quit_btn = QtGui.QPushButton('Quit',self)
2 Quit_btn.setGeometry(10, 10, 64, 35)
3 self.connect(Quit_btn,QtCore.SIGNAL('clicked()'), QtGui.qApp, QtCore.SLOT('quit()'))

#重写关闭事件


1 def closeEvent(self, event):
2     reply = QtGui.QMessageBox.question(self, 'Message', 'Are you Sure to Quit?',
3                                        QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)
4     if reply == QtGui.QMessageBox.Yes:
5         event.accept()
6     else:
7         event.ignore()

1         self.center()
2 
3     # 居中显示
4     def center(self):
5         screen = QtGui.QDesktopWidget().screenGeometry()
6         size_self = self.geometry()
7         self.move((screen.width()-size_self.width())/2, (screen.height()-size_self.height())/2)

完整代码

 1 #coding:utf-8
 2 import sys
 3 from PyQt4 import QtGui, QtCore
 4 
 5 class widGet(QtGui.QWidget):
 6     def __init__(self, parent=None):
 7         QtGui.QWidget.__init__(self, parent)
 8 
 9         self.setGeometry(400, 300, 200, 150)
10         self.setWindowTitle('widGet')
11         self.setWindowIcon(QtGui.QIcon('icons/farmer_72px.png'))
12         self.setToolTip('widGet')
13 
14         Quit_btn = QtGui.QPushButton('Quit',self)
15         Quit_btn.setGeometry(10, 10, 64, 35)
16         self.connect(Quit_btn, QtCore.SIGNAL('clicked()'), QtGui.qApp, QtCore.SLOT('quit()'))
17 
18         self.center()
19 
20     # 居中显示
21     def center(self):
22         screen = QtGui.QDesktopWidget().screenGeometry()
23         size_self = self.geometry()
24         self.move((screen.width()-size_self.width())/2, (screen.height()-size_self.height())/2)
25 
26     #重写关闭事件
27     def closeEvent(self, event):
28         reply = QtGui.QMessageBox.question(self, 'Message', 'Are you Sure to Quit?',
29                                            QtGui.QMessageBox.Yes, QtGui.QMessageBox.No)
30         if reply == QtGui.QMessageBox.Yes:
31             event.accept()
32         else:
33             event.ignore()
34             
35 app = QtGui.QApplication(sys.argv)
36 widget = widGet()
37 widget.show()
38 sys.exit(app.exec_())

 


 

posted on 2017-04-25 11:41  Wakerwu  阅读(59)  评论(0)    收藏  举报