Contents

本文根据pythonspot英文教程编写,并加入了搜集的其他材料,by kowen

PyQt5通过QPushButton类实现按钮功能,这个类在PyQt5.QtWidgets包里面。QPushButton构造器可以传入text参数设置按钮的显示文字。

使用QPushButton前需要先引入:

1
2
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton
from PyQt5.QtCore import pyqtSlot

在initUI()方法中添加一下代码:

1
2
3
button = QPushButton('PyQt5 button', self)
button.setToolTip('This is an example button')
button.move(100,70)

QPushButton()创建按钮组件,并传入显示的文字参数。setToolTip()设置鼠标滑入时的提示信息。最后move()方法设置按钮显示的位置。

接下来为按钮建立点击触发的方法:

1
2
3
@pyqtSlot()
def on_click(self):
print('PyQt5 button click')

将按钮点击和方法关联起来:

1
button.clicked.connect(self.on_click)

最后的代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton
from PyQt5.QtGui import QIcon
from PyQt5.QtCore import pyqtSlot
class App(QWidget):
def __init__(self):
super().__init__()
self.title = 'PyQt5 button - pythonspot.com'
self.left = 10
self.top = 10
self.width = 320
self.height = 200
self.initUI()
def initUI(self):
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
button = QPushButton('PyQt5 button', self)
button.setToolTip('This is an example button')
button.move(100,70)
button.clicked.connect(self.on_click)
self.show()
@pyqtSlot()
def on_click(self):
print('PyQt5 button click')
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = App()
sys.exit(app.exec_())

效果展示

Contents