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中一些常用的输入控件:

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_()
12-02 18:12