快速掌握Pyqt5的20种输入控件(Input Widgets)

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提供了多种输入控件(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_()
  • 23
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值