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的20种输入控件(Input Widgets)
详细学习Pyqt5的9种显示控件
详细学习Pyqt5的10种容器(Containers)
详细学习PyQt5与数据库交互
详细学习PyQt5中的多线程
快速学习PyQt5的动画和图形效果
快速学习PyQt5的高级自定义控件
快速学会绘制Pyqt5中的所有图(上)
快速学会绘制Pyqt5中的所有图(下)
通过“待办事项列表项目”快速学习Pyqt5的一些特性
详细学习PyQt5的样式表与界面美化
待续。。。
PyQt5提供了多种输入控件(Input Widgets),允许用户输入和修改数据。这些控件是构建交互式用户界面的重要组成部分。以下是PyQt5中一些常用的输入控件:
1. QLineEdit
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_()
2. QTextEdit
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_()
3. QSpinBox
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_()
4. QDoubleSpinBox
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_()
5. QComboBox
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_()
6. QSlider
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_()
7. QRadioButton
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_()
8. QCheckBox
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_()
9. QDateTimeEdit
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中其他重要的输入控件:
10. QDateEdit
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_()
11. QTimeEdit
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_()
12. QDial
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_()
13. QProgressBar
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_()
14. QLineEdit with Input Mask
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_()
15. QLineEdit with Validators
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中其他有趣的输入控件:
16. QRadioButton in Group
单选按钮(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_()
17. QSlider with Custom Range
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_()
18. QRadioButton with Icons
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_()
19. QLineEdit with Placeholders
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_()
20. QComboBox with Editable Items
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_()