PyQt5 输入框

在PyQt5中,输入框是常用的用户界面元素之一。通过输入框,用户可以在应用程序中输入文本数据。在本文中,我们将详细介绍如何在PyQt5中创建和使用输入框。
创建输入框
在PyQt5中,可以使用QLineEdit类来创建输入框。以下是一个简单的示例,演示如何创建一个基本的输入框:
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QLineEdit, QVBoxLayout
class InputBoxExample(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('Input Box Example')
# 创建标签
self.label = QLabel('请输入您的姓名:', self)
# 创建输入框
self.input_box = QLineEdit(self)
# 垂直布局
vbox = QVBoxLayout()
vbox.addWidget(self.label)
vbox.addWidget(self.input_box)
self.setLayout(vbox)
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = InputBoxExample()
sys.exit(app.exec_())
在上面的示例中,我们创建了一个简单的窗口,并在窗口中添加了一个标签和一个输入框。运行这段代码,会显示一个窗口,包含一个标签和一个空的输入框。
读取输入框的值
在很多情况下,我们需要读取用户在输入框中输入的值。可以使用text()方法来获取输入框中的文本内容。以下是一个示例,演示如何读取输入框中的值:
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QLineEdit, QVBoxLayout, QPushButton
class InputBoxExample(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('Input Box Example')
# 创建标签
self.label = QLabel('请输入您的姓名:', self)
# 创建输入框
self.input_box = QLineEdit(self)
# 创建按钮
self.btn = QPushButton('显示姓名', self)
self.btn.clicked.connect(self.show_name)
# 垂直布局
vbox = QVBoxLayout()
vbox.addWidget(self.label)
vbox.addWidget(self.input_box)
vbox.addWidget(self.btn)
self.setLayout(vbox)
self.show()
def show_name(self):
name = self.input_box.text()
print('您输入的姓名是:', name)
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = InputBoxExample()
sys.exit(app.exec_())
在上面的示例中,我们在窗口中添加了一个按钮,当用户点击按钮时,会调用show_name方法,并打印出输入框中的值。
设置默认值和清空输入框
有时候,我们需要在输入框中设置默认值,或者在一定条件下清空输入框中的内容。可以使用setText()方法来设置输入框的默认值,使用clear()方法来清空输入框的内容。以下是一个示例,演示如何设置默认值和清空输入框:
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QLineEdit, QVBoxLayout, QPushButton
class InputBoxExample(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('Input Box Example')
# 创建标签
self.label = QLabel('请输入您的姓名:', self)
# 创建输入框
self.input_box = QLineEdit(self)
self.input_box.setText('Tom') # 设置默认值
# 创建清空按钮
self.clear_btn = QPushButton('清空', self)
self.clear_btn.clicked.connect(self.clear_input)
# 垂直布局
vbox = QVBoxLayout()
vbox.addWidget(self.label)
vbox.addWidget(self.input_box)
vbox.addWidget(self.clear_btn)
self.setLayout(vbox)
self.show()
def clear_input(self):
self.input_box.clear()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = InputBoxExample()
sys.exit(app.exec_())
在上面的示例中,我们在输入框中设置了默认值为’Tom’,并添加了一个清空按钮,点击清空按钮时,输入框中的内容会被清空。
总结
通过本文的介绍,我们学习了如何在PyQt5中创建和使用输入框。输入框是用户界面中常用的元素之一,掌握输入框的使用方法对于开发PyQt5应用程序非常重要。
极客教程