09. 数字选择控件

news/2024/12/27 1:30:58/文章来源:https://www.cnblogs.com/FlurryHeart/p/18631181

一、数字选择控件

  数字选择控件提供了一对上下箭头,用户可以单击箭头选择数字,也可以直接输入。PySide6 中提供的数据选择控件主要有 QSpinBox(整数数字选择控件)和 QDoubleSpinBox(小数数字选择控件)。

  我们可以在终端中使用 pip 安装 pyside6 模块。

pip install pyside6

数字选择控件

# 实例方法
text() -> str                                       # 获取值
clear() -> None                                     # 清除值
setAlignment(flag:Qt.Alignment) -> None             # 设置对齐方式
setButtonSymbols(bs:Qt.ButtonSymbols) -> None       # 设置右侧的按钮样式
setCorrectionMode(cm:Qt.CorrectionMode) -> None     # 设置自动修正模式
setKeyboardTracking(kt:bool) -> None                # 设置键盘跟踪
setFrame(arg__1:bool) -> None                       # 设置是否有外边框
setGroupSeparatorShown(shown:bool) -> None          # 设置分组分隔符(3位)是否显示
setReadOnly(r:bool) -> None                         # 设置是否只读
setSpecialValueText(txt:str) -> None                # 设置特殊值文本,当显示的值等于允许的最小值,显示该文本
setWrapping(w:bool) -> None                         # 设置是否可以循环,即最大值后再增大则变成最小值,最小值后再减小则变成最大值
setAccelerated(on:bool) -> None                     # 当按住增大或减小按钮时,是否加速显示值# 槽函数
selectAll() -> None                                 # 选择显示的值,不包含前缀和后缀
stepDown() -> None                                  # 增大值
stepUp() -> None                                    # 减少值

  按钮的样式可以用 setButtonSymbols(QAbstractSpinBox.ButtonSymbols) 方法设置,QAbstractSpinBox.ButtonSymbols 枚举类型参数值如下

QAbstractSpinBox.ButtonSymbols.NoButtons
QAbstractSpinBox.ButtonSymbols.UpDownArrows
QAbstractSpinBox.ButtonSymbols.PlusMinus

  用 setCorrectionMode(QAbstractSpinBox.CorrectionMode) 方法设置当输入有误时使用自动修正模式,参数可取值如下:

QAbstractSpinBox.CorrectionMode.CorrectToPreviousValue        # 修正成最近正确的值
QAbstractSpinBox.CorrectionMode.CorrectToNearestValue         # 修正成最接近正确的值

  数字选择类控件常用信号及其说明如下:

editingFinished()       # 编辑完成后发射信号

二、整数数字选择控件

  QSpinBox 是一个整数数字选择控件,该控件提供了一对上下箭头,用户可以单击箭头选择数字,也可以直接输入。如果输入的数值大于设置的最大值,或小于设置的最小值,QSpinBox 将不会接受输入。

  用 QSpinBox 类创建实例对象的方法如下。

QSpinBox(parent:QWidget=None)

其中 parent窗口 或者 容器类控件

  QSpinBox 类的常用方法如下:

# 实例方法
value() -> int                              # 获取当前值
setDisplayIntegerBase(base:int) -> None     # 设置显示的进制
displayIntegerBase() -> int                 # 获取显示的进制
setMinimum(min:int) -> None                 # 设置最小值
setMaximum(max:int) -> None                 # 设置最大值
setRange(min:int, max:int) -> None          # 设置范围
minimum() -> int                            # 获取最小值
maximum() -> int                            # 获取最大值
setSingleStep(value:int) -> None            # 设置步长
singleStep() -> int                         # 获取步长
setPrefix(prefix:str) -> None               # 设置前缀
setSuffix(suffix:str) -> None               # 设置后缀
cleanText() -> None                         # 清除文本# 槽函数
setValue(value:int) -> None                 # 设置当前值

  QSpinBox 类常用的信号及其说明如下:

textChanged(arg__1)             # 文本改变时发射信号
valueChanged(arg__1)            # 值改变时发射信号 

默认情况下,SpinBox 控件的取值范围为 0~99,步长值为 1;

import sysfrom PySide6.QtWidgets import QApplication, QWidget
from PySide6.QtWidgets import QSpinBoxclass MyWidget(QWidget):def __init__(self):# 1.调用父类Qwidget类的__init__()方法super().__init__()# 2.调用setupUi()方法初始化页面self.setup_ui()def setup_ui(self):# 1.设置窗口对象大小self.resize(700, 500)# 2.创建整数数字选择控件对象spinBox = QSpinBox(self)spinBox.resize(100, 30)# 3.设置取值范围spinBox.setRange(10000, 20000)# 4.设置上下箭头的步长值spinBox.setSingleStep(100)# 5.设置控件的当前值spinBox.setValue(15000)# 6.设置值按照千位用逗号隔开spinBox.setGroupSeparatorShown(True)# 7.设置值可以循环spinBox.setWrapping(True)# 8.设置按住按钮时可以加速spinBox.setAccelerated(True)if __name__ == "__main__":# 1.创建一个QApplication类的实例app = QApplication(sys.argv)# 2.创建一个窗口window = MyWidget()# 3.展示窗口window.show()# 4.进入程序的主循环并通过exit()函数确保主循环安全结束sys.exit(app.exec())

三、小数数字选择控件

  DoubleSpinBox 与 SpinBox 控件类似,区别是它用来选择小数字,并且默认保留两位小数,它对应 PySide6 中的 QDoubleSpinBox 类。QDoubleSpinBox 控件的使用方法与 QSpinBox 控件类似,但由于它处理的是小数数字,因此该控件提供了一个 setDecimals(prec) 方法,用来设置小数的位数。

import sysfrom PySide6.QtWidgets import QApplication, QWidget
from PySide6.QtWidgets import QDoubleSpinBoxclass MyWidget(QWidget):def __init__(self):# 1.调用父类Qwidget类的__init__()方法super().__init__()# 2.调用setupUi()方法初始化页面self.setup_ui()def setup_ui(self):# 1.设置窗口对象大小self.resize(700, 500)# 2.创建小数数字选择控件对象doubleSpinBox = QDoubleSpinBox(self)doubleSpinBox.resize(100, 30)# 3.设置最小值doubleSpinBox.setMinimum(10)# 4.设置最大值doubleSpinBox.setMaximum(20)# 5.设置小数位数doubleSpinBox.setDecimals(3)# 6.设置上下箭头的步长值doubleSpinBox.setSingleStep(0.001)# 7.设置控件的当前值doubleSpinBox.setValue(15)# 8.设置值可以循环doubleSpinBox.setWrapping(True)# 9.设置按住按钮时可以加速doubleSpinBox.setAccelerated(True)if __name__ == "__main__":# 1.创建一个QApplication类的实例app = QApplication(sys.argv)# 2.创建一个窗口window = MyWidget()# 3.展示窗口window.show()# 4.进入程序的主循环并通过exit()函数确保主循环安全结束sys.exit(app.exec())

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

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

相关文章

Fiddler v5.0.2专业网络抓包工具简体中文版

点击上方蓝字关注我 前言 Fiddler抓包工具一个非常专业且已经翻译成中文的网络调试帮手。它就像一个超级监视器,能帮你看到电脑和互联网之间所有通过HTTP协议传输的信息。比如,当你在网上冲浪时,它可以记录下你和网站之间交换的所有“小纸条”,比如网页上的小饼干(cookie)…

01Thingsboard中actor和RuleEngine的启动流程

一、基本关系 1、单体服务2、微服务3、创建流程Reference 二、DefaultActorService DefaultActorService是整个规则引擎的初始化入口。 DefaultActorService会初始化一个使用actor模型的规则引擎,共分为2步:①创建actorSystem; ②处理应用初始化完成事件1、创建actorSystem …

这个安装文件包,运行SETUP,报错,怎么解决?

大家好,我是Python进阶者。 一、前言 前几天在Python最强王者交流群【小歌】问了一个Python代码调试的问题。问题如下:SETUP.Py在notebook条件下运行,报错信息,谁能指导下不?:) 二、实现过程 这里【瑜亮老师】给了一个指导,如下所示:@小歌 报错说没找到那个txt文件,…

jExcel-类似Excel的jquery电子表格插件

jexcel.js是一款轻量级的类似Excel的jquery电子表格插件。你可以同js数组、json数据或CSV文件来为jexcel表格提供数据,你甚至可以直接从一个Excel表格中直接复制粘贴数据到jexcel表格中。在线预览 下载使用方法 在页面中引入jquery、jquery.jexcel.js和jquery.jexcel.css文件…

优化大宽表查询性能,揭秘GaussDB(DWS) 谓词列analyze

谓词列通指于 WHERE 条件,join条件,group by中涉及到的列,更广义的是指所有需要用于计划生成需要统计信息列的列。本文分享自华为云社区《GaussDB(DWS) 谓词列analyze揭秘》,作者:SmithCoder。 1. 前言 适用版本:【9.1.0.100(及以上)】 ​当前GaussDB(DWS)中存在手动an…

指标管理+AI大模型深度融合,开启智能数据分析管理新时代

随着企业数字化转型的加速,数据管理和分析变得越来越重要。传统的指标管理平台虽然已经能够帮助企业有效地收集、计算、管理和展示关键指标,但在业务分析层面,面对日益复杂的数据环境和业务需求,单纯依靠人工分析已经难以满足高效、精准的管理要求。为此,将指标管理平台与…

nmon监控在linux环境下的安装

nmon下载官网: https://nmon.sourceforge.io/pmwiki.php?n=Site.Download一 、前言Nmon (Nigel’s Monitor)是由IBM 提供、免费监控 AIX 系统与 Linux 系统资源的工具。该工具可将服务器系统资源耗用情况收集起来并输出一个特定的文件,并可利用 excel 分析工具(nmon analyse…

项目管理系统 - 项目管理软件 | 禅道项目管理工具

引言在当今数字化时代,项目管理对于企业的成功至关重要。项目管理系统和软件层出不穷,其中禅道项目管理工具以其独特的优势脱颖而出。禅道作为一款开源的项目管理软件,涵盖了项目管理的各个方面,为企业提供了全面、高效的管理解决方案。无论是软件开发项目、工程建设项目还…

18款顶级在线项目管理网站分享,助你高效管理项目

在当今数字化时代,项目管理的效率和效果对于企业的成功至关重要。在线项目管理工具为企业提供了便捷、高效的解决方案,帮助团队更好地规划、执行和监控项目。本文将介绍18款顶级在线项目管理网站,涵盖不同类型的项目管理工具,希望能为读者带来启发,助力他们在项目管理中取…

大模型提示工程

大模型提示工程转:9 大模型提示词工程应用_哔哩哔哩_bilibili 1. 原则2. 清晰的指令2.1. 分隔符大模型基于概率生成,每次生成的话不一样 2.2. 结构化输出使用网页,直接复制文本 使用接口,就用代码 2.3. 参考示例2.4. 角色扮演3. 让模型思考3.1. 指定步骤大模型只是提供的便…