20 按钮、文本框、标签

在上篇中,我们介绍了PyQt5的常用组件及其基本特性。本篇将深入探讨三个重要的组件:按钮文本框标签。理解和使用这些组件是构建应用程序的基础。接下来,我们将通过示例代码,来学习如何创建和使用这些组件。

1. 按钮

按钮是用户界面中最常见的输入组件之一。它通常用于执行某个特定的动作,例如提交表单或触发事件。以下是一个创建基本按钮的示例:

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

# 定义一个简单的窗口
class MyApp(QWidget):
def __init__(self):
super().__init__()

# 初始化按钮并连接信号
self.init_ui()

def init_ui(self):
self.setWindowTitle('PyQt5 按钮示例')
self.setGeometry(100, 100, 300, 200)

# 创建按钮
btn = QPushButton('点击我', self)
btn.clicked.connect(self.on_click) # 连接点击事件

# 布局管理
layout = QVBoxLayout()
layout.addWidget(btn)
self.setLayout(layout)

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

# 运行应用程序
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = MyApp()
ex.show()
sys.exit(app.exec_())

在这个示例中,我们创建了一个窗口,并添加了一个按钮。当按钮被点击时,会在控制台输出一条消息。

2. 文本框

文本框用于接收用户输入。以下是一个创建文本框的示例,演示如何获取用户输入:

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

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

def init_ui(self):
self.setWindowTitle('PyQt5 文本框示例')
self.setGeometry(100, 100, 300, 200)

# 标签和文本框
self.label = QLabel('输入内容:', self)
self.textbox = QLineEdit(self)

# 提交按钮
btn = QPushButton('提交', self)
btn.clicked.connect(self.on_submit)

# 布局管理
layout = QVBoxLayout()
layout.addWidget(self.label)
layout.addWidget(self.textbox)
layout.addWidget(btn)
self.setLayout(layout)

def on_submit(self):
# 获取文本框中的内容
text = self.textbox.text()
print(f"你输入的内容是: {text}")

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

在这个示例中,我们添加了一个QLineEdit文本框,用户可以在此输入内容。点击“提交”按钮后,程序会打印出用户输入的内容。

3. 标签

标签用于显示文本或图像,通常用于为其他组件提供说明或提供其他信息。以下示例展示了标签的基本用法:

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

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

def init_ui(self):
self.setWindowTitle('PyQt5 标签示例')
self.setGeometry(100, 100, 300, 200)

self.label = QLabel('请输入你的名字:', self)
self.textbox = QLineEdit(self)
self.response_label = QLabel('', self) # 用于显示反馈信息

btn = QPushButton('确认', self)
btn.clicked.connect(self.on_confirm)

layout = QVBoxLayout()
layout.addWidget(self.label)
layout.addWidget(self.textbox)
layout.addWidget(btn)
layout.addWidget(self.response_label) # 将反馈标签添加到布局

self.setLayout(layout)

def on_confirm(self):
name = self.textbox.text()
self.response_label.setText(f'你好, {name}!') # 更新标签内容

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

这一示例添加了一个标签用于说明输入框的用途,并在用户点击“确认”按钮后,使另一个标签显示用户输入的名称,形成了交互反馈。

总结

在本篇中,我们学习了按钮文本框标签的基本用法,并通过代码示例演示了它们的创建和交互。这些组件是构建用户界面的基础,在后续的组合控件使用中,它们将更加重要。下一篇,我们将探讨如何将这些组件组合成更复杂的控件,以提升用户体验。希望大家在学习中有所收获!

20 按钮、文本框、标签

https://zglg.work/pyqt5-you-need/20/

作者

AI免费学习网(郭震)

发布于

2024-08-10

更新于

2024-08-10

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论