1. 程式人生 > >【PyQt5】(02)添加組件:圖標、按鈕

【PyQt5】(02)添加組件:圖標、按鈕

5.1 connect pyqt 任務 模塊 內置 圖標 utf block

環境說明:

平臺:WIN10(教育版)

環境:Anaconda5.2(Python3.6.6)

IDE:Pacharm2018.2.1(專業版)

PyQt5:5.11.2

任務目標一:添加圖標組件

任務目標二:添加按鈕組件,並通過點擊按鈕鏈接退出功能

代碼實現:添加圖標組件

 1 # !/usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3 
 4 import sys
 5 from PyQt5.QtWidgets import QApplication, QWidget
 6 from PyQt5.QtGui import QIcon
 7 
 8
9 class MyGui(QWidget): 10 11 def __init__(self): 12 13 super().__init__() 14 15 def ui(self): 16 17 self.setGeometry(300, 300, 300, 220) 18 self.setWindowTitle("Hello, PyQt5!") 19 self.setWindowIcon(QIcon(icon.png)) 20 21 self.show() 22 23 24 if __name__
== __main__: 25 26 app = QApplication(sys.argv) 27 win = MyGui() 28 win.ui() 29 sys.exit(app.exec_())

新行解釋

6 from PyQt5.QtGui import QIcon

添加圖標組件需要導入 QtGui 模塊中的 QIcon

19 self.setWindowIcon(QIcon(icon.png))

添加圖標組件,其中 icon.png 是圖標文件

任務目標二:添加按鈕組件,為按鈕設置懸浮提示框,

並設置按鈕的功能為退出程序

 1 # !/usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3 
 4 import sys
 5 from PyQt5.QtWidgets import QApplication, QWidget,  6     QPushButton
 7 from PyQt5.QtGui import QIcon
 8 from PyQt5.QtCore import QCoreApplication
 9 
10 
11 class MyGui(QWidget):
12 
13     def __init__(self):
14 
15         super().__init__()
16 
17     def ui(self):
18 
19         self.setGeometry(300, 300, 300, 220)
20         self.setWindowTitle("Hello, PyQt5!")
21         self.setWindowIcon(QIcon(icon.png))
22         
23         self.btn = QPushButton(Quit, self)
24         self.btn.move(100, 100)
25         self.btn.resize(70, 30)
26         self.btn.setToolTip(Press to <b>quit</b>)
27         self.btn.clicked.connect(QCoreApplication.instance().quit)
28 
29         self.show()
30 
31 
32 if __name__ == __main__:
33 
34     app = QApplication(sys.argv)
35     win = MyGui()
36     win.ui()
37     sys.exit(app.exec_())

新行解釋

5-6 from PyQt5.QtWidgets import QPushButton

添加按鈕組件需要導入 QtWidgets 模塊的 QPushButton

8 from PyQt5.QtCore import QCoreApplication

導入必要的類: QCoreApplication

23 self.btn = QPushButton(Quit, self)

添加按鈕組件,第一個參數 Quit 為在按鈕上顯示的字符串,第二個參數 self 為承載按鈕的對象

24 self.btn.move(100, 100)
25 self.btn.resize(70, 30)

QWidget 對象的 moveresize 方法

26 self.btn.setToolTip(Press to <b>quit</b>)

為按鈕組件設置懸浮提示框,參數 Press to <b>quit</b> 為懸浮提示框中顯示的內容,

其中可以通過 <b></b> 等標簽調整文本格式

27 self.btn.clicked.connect(QCoreApplication.instance().quit)

設置按鈕的功能為退出程序,

需要將按鈕的 clicked 這個事件 connectQCoreApplication.instance().quit

其中 QCoreApplication.instance().quit 為內置的程序退出的功能函數(方法),

於是按鈕就可以實現退出程序的功能了

調用 QCoreApplication.instance().quit 需要導入 QtCore 模塊的 QCoreApplication

【PyQt5】(02)添加組件:圖標、按鈕