Pyqt5相关文章:
快速掌握Pyqt5的三种主窗口
快速掌握Pyqt5的2种弹簧
快速掌握Pyqt5的5种布局
快速弄懂Pyqt5的5种项目视图(Item View)
快速弄懂Pyqt5的4种项目部件(Item Widget)
快速掌握Pyqt5的6种按钮
快速掌握Pyqt5的10种容器(Containers)
快速掌握Pyqt5的20种输入控件(Input Widgets)
快速掌握Pyqt5的9种显示控件
详细学习Pyqt5中的5种布局方式
详细学习Pyqt5中的6种按钮
详细学习Pyqt5中的2种弹簧
详细学习Pyqt5的5种项目视图(Item View)
详细学习Pyqt5的4种项目部件(Item Widget)
详细学习PyQt5与数据库交互
待续。。。
PyQt5提供了多种输入控件(Input Widgets),允许用户输入和修改数据。这些控件是构建交互式用户界面的重要组成部分。以下是PyQt5中一些常用的输入控件:
QLineEdit
提供了一个单行文本输入框,用户可以输入和编辑单行文本。
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QLineEdit
app = QApplication([])
window = QWidget()
lineEdit = QLineEdit()
layout = QVBoxLayout(window)
layout.addWidget(lineEdit)
window.show()
app.exec_()
QTextEdit
是一个多行文本编辑器,支持富文本和纯文本。
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QTextEdit
app = QApplication([])
window = QWidget()
textEdit = QTextEdit()
layout = QVBoxLayout(window)
layout.addWidget(textEdit)
window.show()
app.exec_()
QSpinBox
是一个带有增减按钮的数字输入框,允许用户选择一个整数值。
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QSpinBox
app = QApplication([])
window = QWidget()
spinBox = QSpinBox()
layout = QVBoxLayout(window)
layout.addWidget(spinBox)
window.show()
app.exec_()
QDoubleSpinBox
类似于 QSpinBox
,但用于输入浮点数。
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QDoubleSpinBox
app = QApplication([])
window = QWidget()
doubleSpinBox = QDoubleSpinBox()
layout = QVBoxLayout(window)
layout.addWidget(doubleSpinBox)
window.show()
app.exec_()
QComboBox
是一个下拉列表,允许用户从预定义的选项列表中选择。
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QComboBox
app = QApplication([])
window = QWidget()
comboBox = QComboBox()
comboBox.addItems(["Option 1", "Option 2", "Option 3"])
layout = QVBoxLayout(window)
layout.addWidget(comboBox)
window.show()
app.exec_()
QSlider
提供了一个滑动条,用于选择一个范围内的值。
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QSlider
from PyQt5.QtCore import Qt
app = QApplication([])
window = QWidget()
slider = QSlider(Qt.Horizontal)
layout = QVBoxLayout(window)
layout.addWidget(slider)
window.show()
app.exec_()
QRadioButton
允许用户选择一个选项,通常用于一组单选按钮中。
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QRadioButton
app = QApplication([])
window = QWidget()
radioButton = QRadioButton("Option 1")
layout = QVBoxLayout(window)
layout.addWidget(radioButton)
window.show()
app.exec_()
QCheckBox
是一个复选框,允许用户开启或关闭一个选项。
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QCheckBox
app = QApplication([])
window = QWidget()
checkBox = QCheckBox("Check me")
layout = QVBoxLayout(window)
layout.addWidget(checkBox)
window.show()
app.exec_()
QDateTimeEdit
用于输入日期和时间。
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QDateTimeEdit
app = QApplication([])
window = QWidget()
dateTimeEdit = QDateTimeEdit()
layout = QVBoxLayout(window)
layout.addWidget(dateTimeEdit)
window.show()
app.exec_()
这些输入控件使得收集用户输入变得简单而高效,是构建现代GUI应用的基础。
当然,接下来我们将继续探讨PyQt5中其他重要的输入控件:
QDateEdit
控件用于输入日期。它提供了一个方便的日历弹出窗口来帮助用户选择日期。
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QDateEdit
app = QApplication([])
window = QWidget()
dateEdit = QDateEdit()
layout = QVBoxLayout(window)
layout.addWidget(dateEdit)
window.show()
app.exec_()
QTimeEdit
控件用于输入时间。用户可以通过它输入和编辑时间值。
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QTimeEdit
app = QApplication([])
window = QWidget()
timeEdit = QTimeEdit()
layout = QVBoxLayout(window)
layout.addWidget(timeEdit)
window.show()
app.exec_()
QDial
是一个旋钮控件,提供了一个圆形旋转界面,用于选择一个范围内的值。
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QDial
app = QApplication([])
window = QWidget()
dial = QDial()
dial.setMinimum(0)
dial.setMaximum(100)
layout = QVBoxLayout(window)
layout.addWidget(dial)
window.show()
app.exec_()
QProgressBar
控件用于显示一个进度条。这对于展示长时间运行操作的进度非常有用。
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QProgressBar
app = QApplication([])
window = QWidget()
progressBar = QProgressBar()
progressBar.setMinimum(0)
progressBar.setMaximum(100)
progressBar.setValue(50) # 设置当前进度
layout = QVBoxLayout(window)
layout.addWidget(progressBar)
window.show()
app.exec_()
QLineEdit
也可以设置输入掩码,限制用户输入格式,例如电话号码、日期等。
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QLineEdit
app = QApplication([])
window = QWidget()
lineEdit = QLineEdit()
lineEdit.setInputMask('9999-9999') # 设置输入掩码
layout = QVBoxLayout(window)
layout.addWidget(lineEdit)
window.show()
app.exec_()
QLineEdit
可以使用验证器(Validator)来约束用户输入的类型,比如只允许输入数字。
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QLineEdit
from PyQt5.QtGui import QIntValidator
app = QApplication([])
window = QWidget()
lineEdit = QLineEdit()
lineEdit.setValidator(QIntValidator(0, 100)) # 仅允许输入0到100之间的数字
layout = QVBoxLayout(window)
layout.addWidget(lineEdit)
window.show()
app.exec_()
这些输入控件的多样性和灵活性使得PyQt5成为创建具有复杂用户输入需求的应用程序的理想选择。使用这些控件,您可以构建出既美观又功能丰富的用户界面。
当然,让我们继续探索PyQt5中其他有趣的输入控件:
单选按钮(QRadioButton
)通常在一组中使用,以便用户从多个选项中选择一个。
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QRadioButton, QButtonGroup
app = QApplication([])
window = QWidget()
radioButton1 = QRadioButton("Option 1")
radioButton2 = QRadioButton("Option 2")
radioButton3 = QRadioButton("Option 3")
# 将单选按钮加入到组中
buttonGroup = QButtonGroup(window)
buttonGroup.addButton(radioButton1)
buttonGroup.addButton(radioButton2)
buttonGroup.addButton(radioButton3)
layout = QVBoxLayout(window)
layout.addWidget(radioButton1)
layout.addWidget(radioButton2)
layout.addWidget(radioButton3)
window.show()
app.exec_()
QSlider
可以用来选择一个范围内的值,你可以自定义这个范围。
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QSlider
from PyQt5.QtCore import Qt
app = QApplication([])
window = QWidget()
slider = QSlider(Qt.Horizontal)
slider.setMinimum(10) # 最小值
slider.setMaximum(50) # 最大值
layout = QVBoxLayout(window)
layout.addWidget(slider)
window.show()
app.exec_()
QRadioButton
可以配合图标使用,为每个选项提供视觉提示。
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QRadioButton
from PyQt5.QtGui import QIcon
app = QApplication([])
window = QWidget()
radioButton1 = QRadioButton("Option 1")
radioButton1.setIcon(QIcon('path/to/icon1.png'))
radioButton2 = QRadioButton("Option 2")
radioButton2.setIcon(QIcon('path/to/icon2.png'))
layout = QVBoxLayout(window)
layout.addWidget(radioButton1)
layout.addWidget(radioButton2)
window.show()
app.exec_()
QLineEdit
控件支持占位符文本,这在用户输入之前可以显示提示信息。
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QLineEdit
app = QApplication([])
window = QWidget()
lineEdit = QLineEdit()
lineEdit.setPlaceholderText("Enter your name...")
layout = QVBoxLayout(window)
layout.addWidget(lineEdit)
window.show()
app.exec_()
QComboBox
控件不仅可以让用户从下拉列表中选择,还可以允许用户输入文本。
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QComboBox
app = QApplication([])
window = QWidget()
comboBox = QComboBox()
comboBox.setEditable(True) # 设置为可编辑
comboBox.addItems(["Option 1", "Option 2", "Option 3"])
layout = QVBoxLayout(window)
layout.addWidget(comboBox)
window.show()
app.exec_()