19 常用组件介绍

在上一篇中,我们探讨了如何使用 Qt Designer 来生成 GUI 界面的代码,并将其与我们的应用程序整合。这为我们构建 PyQt5 应用奠定了基础。在这一篇中,我们将介绍 PyQt5 中一些常用的组件。这些组件是构建应用程序的基石,理解它们可以帮助我们更高效地开发界面。

常用组件概述

在 PyQt5 中,有一些组件是我们经常会使用到的。以下是一些常用组件的概述:

  1. 按钮 (QPushButton) - 用户通常用来触发事件。
  2. 文本框 (QLineEditQTextEdit) - 用于输入文本。
  3. 标签 (QLabel) - 用于显示文本或图片。
  4. 复选框 (QCheckBox) - 用于让用户选择是或否。
  5. 单选框 (QRadioButton) - 用于选择一个选项。
  6. 下拉菜单 (QComboBox) - 用于让用户从下拉列表中选择一个选项。
  7. 进度条 (QProgressBar) - 显示进度状态。

接下来,我们将逐一对这些组件进行详细介绍,并结合实例展示如何使用它们。

按钮 (QPushButton)

QPushButton 是 PyQt5 中最常用的组件之一。它可以用来执行命令和响应用户操作。

示例代码

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
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QVBoxLayout

class MyApp(QWidget):
def __init__(self):
super().__init__()
self.initUI()

def initUI(self):
self.setWindowTitle('按钮示例')

layout = QVBoxLayout()

button = QPushButton('点击我!', self)
button.clicked.connect(self.on_click) # 将按钮点击事件连接到函数

layout.addWidget(button)
self.setLayout(layout)

def on_click(self):
print("按钮被点击了!")

if __name__ == '__main__':
app = QApplication(sys.argv)
ex = MyApp()
ex.show()
sys.exit(app.exec_())

在以上代码中,当用户点击按钮时,会在控制台打印出 按钮被点击了! 的消息。

文本框 (QLineEditQTextEdit)

QLineEdit 用于接受单行文本输入,而 QTextEdit 用于接受多行文本输入。我们也可以通过这些文本框让用户输入信息。

示例代码

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
36
37
38
39
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLineEdit, QTextEdit, QVBoxLayout, QPushButton

class MyApp(QWidget):
def __init__(self):
super().__init__()
self.initUI()

def initUI(self):
self.setWindowTitle('文本框示例')

layout = QVBoxLayout()

self.line_edit = QLineEdit(self)
self.line_edit.setPlaceholderText('请输入单行文本...')

self.text_edit = QTextEdit(self)
self.text_edit.setPlaceholderText('请输入多行文本...')

submit_button = QPushButton('提交', self)
submit_button.clicked.connect(self.on_submit)

layout.addWidget(self.line_edit)
layout.addWidget(self.text_edit)
layout.addWidget(submit_button)

self.setLayout(layout)

def on_submit(self):
single_line_text = self.line_edit.text() # 获取单行文本
multi_line_text = self.text_edit.toPlainText() # 获取多行文本
print(f"单行文本: {single_line_text}")
print(f"多行文本: {multi_line_text}")

if __name__ == '__main__':
app = QApplication(sys.argv)
ex = MyApp()
ex.show()
sys.exit(app.exec_())

此代码段创建了一个界面,其中包含一个单行文本框和一个多行文本框。当点击 提交 按钮时,输入的文本将被打印到控制台。

标签 (QLabel)

QLabel 是用于显示文本或图像的组件。可以用来给用户提供信息和提示。

示例代码

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
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QVBoxLayout

class MyApp(QWidget):
def __init__(self):
super().__init__()
self.initUI()

def initUI(self):
self.setWindowTitle('标签示例')

layout = QVBoxLayout()

label1 = QLabel('这是一个标签', self)
label2 = QLabel('欢迎使用 PyQt5', self)

layout.addWidget(label1)
layout.addWidget(label2)

self.setLayout(layout)

if __name__ == '__main__':
app = QApplication(sys.argv)
ex = MyApp()
ex.show()
sys.exit(app.exec_())

通过以上代码,我们创建了两个标签,用于显示不同的文本信息。

结尾

以上是我们对 PyQt5 中常用组件的介绍。我们通过实例演示了如何使用按钮、文本框和标签。这些组件在构建应用程序时非常重要,也是我们后续课程的基础。在下篇文章中,我们将继续深入探讨其他常用组件,包括复选框、单选框和下拉菜单等,这将进一步丰富我们的应用界面元素。

希望你能活用这些组件,为你的 PyQt5 项目增添更多功能!

作者

IT教程网(郭震)

发布于

2024-08-10

更新于

2024-08-10

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论