快速掌握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与数据库交互
待续。。。

PyQt5提供了多种输入控件(Input Widgets),允许用户输入和修改数据。这些控件是构建交互式用户界面的重要组成部分。以下是PyQt5中一些常用的输入控件:

1. QLineEdit

QLineEdit 提供了一个单行文本输入框,用户可以输入和编辑单行文本。

from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QLineEditapp = 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, QTextEditapp = 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, QSpinBoxapp = 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, QDoubleSpinBoxapp = 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, QComboBoxapp = 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 Qtapp = 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, QRadioButtonapp = 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, QCheckBoxapp = 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, QDateTimeEditapp = 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, QDateEditapp = 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, QTimeEditapp = 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, QDialapp = 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, QProgressBarapp = 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, QLineEditapp = 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 QIntValidatorapp = 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, QButtonGroupapp = 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 Qtapp = 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 QIconapp = 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, QLineEditapp = 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, QComboBoxapp = 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_()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/189345.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTML5 的全局属性 hidden 和 display:none 的关系

目录 1,hidden 和 display:none 的关系2,其他隐藏元素的方式2.1,语意上的隐藏2.2,视觉上的隐藏 1,hidden 和 display:none 的关系 hidden - MDN 参考 一句话总结:hidden 是HTML5 新增的全局布尔属性&…

Centos7使用阿里云镜像加速服务安装Docker

文章目录 一、前提说明二、安装docker1、创建docker文件夹2、安装所需的软件包3、设置Docker仓库4、安装docker5、启动验证使用阿里云镜像加速服务 三、卸载docker 一、前提说明 需要先安装好虚拟机,可以查看这篇https://blog.csdn.net/qq_36433289/article/detail…

Python批处理PDF文件,PDF附件轻松批量提取

PDF附件是指在PDF文档中嵌入的其他文件,如图像、表格、音频、视频或其他文档。这些附件可以与PDF文档一起存储、传输和共享,为文档提供了更丰富的内容和更多的功能。通过添加附件,我们可以将相关文件和信息捆绑在一起,使其更易于管…

Verilog 入门(五)数据流模型化

文章目录 连续赋值语句时延 连续赋值用于数据流行为建模;相反,过程赋值用于顺序行为建模。组合逻辑电路的行为最好使用连续赋值语句建模。 连续赋值语句 连续赋值语句将值赋给线网(连续赋值不能为寄存器赋值),它的格式…

Linux 只能收到 SYN 包 不能回包

如果用户发现云主机不能登录,例如无法远程 22 端口或其他端口,但是更换网络环境正常,服务端抓包发现客户端发包只有 SYN,没有回包,可以执行 netstat -s |grep rejec 查看下是否是 tcp_timestamps 的问题 [roothfgo2 ~…

Java的53个关键字分类及详细说明(包含3个特殊直接量+2个保留字)

文章目录 关键字,特殊直接量,保留字关键字的详细用法说明(1)访问控制类关键字(2)修饰符类关键字(3)程序控制类关键字(4)错误处理类关键字(5)包相关…

Python+Requests模拟发送GET请求

模拟发送GET请求 前置条件:导入requests库 一、发送不带参数的get请求 代码如下: 以百度首页为例 import requests# 发送get请求 response requests.get(url"http://www.baidu.com") print(response.content.decode("utf-8"))…

Drift plus penalty 漂移加惩罚Part2——性能分析

文章目录 正文Performance analysisAverage penalty analysis 平均惩罚分析Average queue size analysis 平均队列大小分析Probability 1 convergenceApplication to queues with finite capacityTreatment of queueing systemsConvex functions of time averages Delay tradeo…

SSR是什么?Vue中怎么实现?

一、是什么 概念 SSR是指服务器端渲染(Server-Side Rendering),是一种将客户端和服务器端合并的 Web 应用程序渲染技术。在 SSR 中,应用程序的 UI 在服务器端渲染完成后,再将整个渲染好的 HTML、CSS 和 JavaScript 发…

西南科技大学信号与系统A课程设计报告(信号卷积与应用)

一、设计任务 编制MATLAB程序,实现任意两输入信号的卷积和运算,并正确显示输入信号、输出信号的波形。(程序文件名:ConvSum_本人姓名首拼小写.m,本程序不允许使用conv函数)输入信号x为频率0.1 Hz和0.3 Hz的等幅正弦波之和,利用fir1函数设计滤波器h,去除0.3 Hz的正弦信号…

Vue 3.0 组合式API Setup

文章目录 前言参数Props上下文访问组件的 property结合模板使用使用渲染函数使用 this后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏:vue.js 🐱‍👓博主在前端领域还有很多知识和技术需要掌握,正在不…

使用WalletConnect Web3Modal v3 链接钱包基础教程

我使用的是vueethers 官方文档:WalletConnect 1.安装 yarn add web3modal/ethers ethers 或者 npm install web3modal/ethers ethers2.引用 新建一个js文件,在main.js中引入,初始化配置sdk import {createWeb3Modal,defaultConfig, } from…

CMMI认证含金量高吗

一、CMMI认证含金量解答 CMMI,即能力成熟度模型集成,是由美国卡内基梅隆大学软件工程研究所开发的一种评估企业软件开发过程成熟度的模型。CMMI认证的含金量究竟高不高呢?答案是肯定的。CMMI认证被誉为软件开发行业的“金牌标准”&#xff0…

【算法】合并K个升序链表

这道题主要考察的是归并排序,因为已经升序过了,更好理解了。 当然也可以采用分治的思路;或采用最小堆的思路;面试中校招同学写出一种即可,如果能全概览讲一下,就更加分了。 #############################…

力扣题:字符的统计-12.2

力扣题-12.2 [力扣刷题攻略] Re:从零开始的力扣刷题生活 力扣题1:423. 从英文中重建数字 解题思想:有的单词通过一个字母就可以确定,依次确定即可 class Solution(object):def originalDigits(self, s):""":typ…

okhttp系列-拦截器的执行顺序

1.将拦截器添加到ArrayList final class RealCall implements Call {Response getResponseWithInterceptorChain() throws IOException {//将Interceptor添加到ArrayListList<Interceptor> interceptors new ArrayList<>();interceptors.addAll(client.intercept…

03-IDEA集成Git,初始化本地库,添加远程仓库,提交,拉取,推送,分支的快捷操作

IDEA集成Git 创建Git忽略文件 不同的IDE开发工具有不同的特点文件,这些文件与项目的实际功能无关且不参与服务器上的部署运行, 把它们忽略掉能够屏蔽之间的差异 局部忽略配置文件: 在本地仓库的根目录即项目根目录下直接创建.gitignore文件, 以文件后缀或目录名的方式忽略指定…

双远心镜头:让视觉检测更精准、高效!

工业镜头是视觉系统中的重要组件&#xff0c;工业镜头的选型影响着整个系统的成像效果。在做视觉检测时&#xff0c;会遇到无法检测空间物体、无法控制视场变化、无法控制图像扭曲、对比度低、畸变大、反光等问题&#xff0c;这时普通的工业镜头并不能有效地解决问题&#xff0…

校园门禁可视化系统解决方案

随着科技的持续进步&#xff0c;数字化校园在教育领域中的地位日益上升&#xff0c;各种智能门禁、安防摄像头等已遍布校园各个地方&#xff0c;为师生提供安全便捷的通行体验。然而数据收集分散、缺乏管理、分析困难等问题也逐渐出现&#xff0c;在这个数字化环境中&#xff0…

《opencv实用探索·六》简单理解图像膨胀

1、图像膨胀原理简单理解 膨胀是形态学最基本的操作&#xff0c;都是针对白色部分&#xff08;高亮部分&#xff09;而言的。膨胀就是使图像中高亮部分扩张&#xff0c;效果图拥有比原图更大的高亮区域。 2、图像膨胀的作用 注意一般情况下图像膨胀和腐蚀是联合使用的。 &…