在上篇中,我们介绍了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_())
|
这一示例添加了一个标签用于说明输入框的用途,并在用户点击“确认”按钮后,使另一个标签显示用户输入的名称,形成了交互反馈。
总结
在本篇中,我们学习了按钮
、文本框
和标签
的基本用法,并通过代码示例演示了它们的创建和交互。这些组件是构建用户界面的基础,在后续的组合控件使用中,它们将更加重要。下一篇,我们将探讨如何将这些组件组合成更复杂的控件,以提升用户体验。希望大家在学习中有所收获!