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_())