1 import sys
2 from PyQt5.QtWidgets import (QWidget, QToolTip,
3 QPushButton, QApplication)
4 from PyQt5.QtGui import QIcon
5 from PyQt5.QtGui import QFont
6 from PyQt5.QtCore import QCoreApplication
7
8 # ----------------------------------------------#
9 # 简单pyqt5
10 # ----------------------------------------------#
11
12
13 def create_ui():
14 app = QApplication(sys.argv) # 全部pyqt5必须建立一个QApplication对象
15
16 w = QWidget() # 没有父类的widget将被做为窗口使用
17 w.resize(250, 150) # 大小
18 w.move(300, 300) # 起始坐标
19 w.setWindowTitle('GUI') # 标题
20 w.show()
21 # 应用进入主循环。在这个地方,事件处理开始执行。
22 # 主循环用于接收来自窗口触发的事件,而且转发他们到widget应用上处理。
23 # 若是咱们调用exit()方法或主widget组件被销毁,主循环将退出。
24 # sys.exit()方法确保一个不留垃圾的退出。
25 # 系统环境将会被通知应用是怎样被结束的
26 sys.exit(app.exec_())
27
28
29 # ----------------------------------------------#
30 # pyqt5修改显示图标
31 # ----------------------------------------------#
32 class Example1(QWidget):
33
34 def __init__(self):
35 super().__init__()
36 # super()方法返回了父类对象并调用了父类的构造方法
37 self.__init_ui()
38
39 def __init_ui(self):
40
41 self.setGeometry(300, 300, 300, 220)
42 self.setWindowTitle('GUI')
43 self.setWindowIcon(QIcon('f.ico'))
44
45 self.show()
46
47 # ----------------------------------------------#
48 # pyqt5显示提示框
49 # ----------------------------------------------#
50
51
52 class Example2(QWidget):
53
54 def __init__(self):
55 super().__init__()
56 self.__init_ui()
57
58 def __init_ui(self):
59
60 # 设置提示框的字体和大小
61 QToolTip.setFont(QFont('SansSerif', 20))
62
63 # 用于显示组件的提示框
64 self.setToolTip('This is a <b>QWidget</b> widget')
65
66 # 建立一个按键
67 btn = QPushButton('Button', self)
68
69 # 为按键建立提示框
70 btn.setToolTip('This is a <b>QPushButton</b> widget')
71
72 # setHint()方法给了按钮一个推荐的大小
73 btn.resize(btn.sizeHint())
74 btn.move(50, 50)
75
76 self.setGeometry(300, 300, 300, 200)
77 self.setWindowTitle('Tooltips')
78 self.show()
79
80 # ----------------------------------------------#
81 # 关闭窗口
82 # ----------------------------------------------#
83
84
85 class Example3(QWidget):
86
87 def __init__(self):
88 super().__init__()
89
90 self.__init_ui()
91
92 def __init_ui(self):
93 btn = QPushButton('Quit', self)
94 btn.clicked.connect(QCoreApplication.instance().quit)
95 btn.resize(btn.sizeHint())
96 btn.move(50, 50)
97
98 self.setGeometry(300, 300, 250, 150)
99 self.setWindowTitle('Quit button')
100 self.show()
101
102 # 测试简单的建立ui
103
104
105 # create_ui()
106
107 app = QApplication(sys.argv)
108
109 # pyqt5修改显示图标
110 # ex = Example1()
111
112 # pyqt5显示提示框
113 # ex1 = Example2()
114
115 # pyqt5退出命令,理解信号与槽
116 ex2 = Example3()
117 sys.exit(app.exec_())