QDoubleSpinBox-小数微调框

总体说明

大部分的总体说明和QSpinBox的差不多(详见:《PyQt5:微调框1》),这里主要把有差别的地方谈一下(三点)。

  1. QDoubleSpinBox会舍去数字,以便以当前精度显示。在QDoubleSpinBox小数设置为2,调用setValue(2.555)将导致value()返回2.56。
  2. spinbox的默认精度为2位小数,但可以使用setDecimals()更改。
  3. 除了最终的前缀和后缀内容外,QDoubleSpinBox的显示值限制为18个字符。这个限制是用来保持微调时即使是非常大的值也可以使用。

更多详细的介绍请见官网:QDoubleSpinBox Class

QDoubleSpinBox小例子

先来看看具体例子的效果吧。

效果如下:

参考:

https://zhuanlan.zhihu.com/p/31530835

完整代码:

 from PyQt5.QtWidgets import (QApplication,QWidget,QDoubleSpinBox,QLabel,QSlider,QGridLayout)
from PyQt5.QtCore import Qt
import sys class Example(QWidget):
def __init__(self):
super(Example, self).__init__()
self.initUI() def initUI(self):
self.setGeometry(300,300,300,200)
self.setWindowTitle("QDoubleSpinBox微调框")
gridLayout = QGridLayout()
self.dsb = QDoubleSpinBox()
self.dsb.setRange(0.0,10.0) self.sld = QSlider(Qt.Vertical,self)
self.sld.setRange(0,10)
self.sld.setSingleStep(1)
self.sld.setTickPosition(True) self.label = QLabel("设置精度为2",self)
gridLayout.addWidget(self.label,0,0,1,1)
gridLayout.addWidget(self.dsb,0,1,1,2)
gridLayout.addWidget(self.sld,1,1,2,1)
self.setLayout(gridLayout) self.sld.valueChanged.connect(self.dsb_Valuechange) def dsb_Valuechange(self,value):
if value >= 2 :
self.label.setText("设置精度为%s"%value)
self.dsb.setDecimals(value)
self.dsb.setSingleStep(1/(10**value)) if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
ex.show()
sys.exit(app.exec_())

QDoubleSpinBox微调框-案例

这个例子我们设置了精度值,最小2,最大9,通过滑块进行调节。涉及滑块的部分内容,请参考《PyQt5:小车快跑(滑块的使用)》

self.sp = QDoubleSpinBox(self)
self.sp.setGeometry(10,50,100,20)
self.sp.setRange(0,20)
self.sp.setSingleStep(0.1)

新建一个QDoubleSpinBox对象,设置最小最大值范围(0-20),单步步长0.1。

self.sl.valueChanged.connect(self.spinbox_changevalue)
def spinbox_changevalue(self,value):
if value <= 7:
self.lb.setText("QDoubleSpinBox精度设置为:" + str(value+2))
self.sp.setDecimals(value+2)

这个就是我们拖动滑块的时候,在标签上显示精度值大小。因为QDoubleSpinBox对象的精度是从2开始,但是滑块的值是从0开始,所以我们给滑块的值加2,并给将其设置为QDoubleSpinBox的精度。

【PyQt5-Qt Designer】QDoubleSpinBox-小数微调框的更多相关文章

  1. PyQt5 & Qt Designer使用小结

    开始在知乎写文章的原因,主要还是想整理平时的经验,方便自己以后查看,有机会的话大家也可以交流吧. 11月中旬由于项目需要,和另一名实习生负责使用Python开发一个数据分析的小软件. 虽然才开始接触Q ...

  2. PyCharm+PyQt5+Qt Designer配置

    配置前提 因为本机已经配置完毕了,本次使用的是虚拟机中的Win7系统,Win10系统操作步骤完全一样,无任何区别 PyCharm (这个不多说,官网下载安装,我是用的是2019.3版本) Python ...

  3. 痞子衡嵌入式:超级好用的可视化PyQt GUI构建工具(Qt Designer)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是PyQt GUI构建工具Qt Designer. 痞子衡开博客至今已有好几年,一直以嵌入式开发相关主题的文章为主线,偶尔穿插一些其他技术 ...

  4. PyCharm+Qt Designer+PyUIC安装配置教程

    Qt Designer用于像VC++的MFC一样拖放.设计控件 PyUIC用于将Qt Designer生成的.ui文件转换成.py文件 Qt Designer和PyUIC都包含在PyQt5中,所以我们 ...

  5. PyQT5速成教程-4 Qt Designer实战[上]

    本文由 沈庆阳 所有,转载请与作者取得联系! 前言 在前面几节的学习中,我们对PyQt的基本使用.Qt Designer与Python编码的工作流程有了基本的学习.同时也掌握了Qt Designer中 ...

  6. python的部分GUI模块简介tkinter、pyqt5(Qt Designer)

    笔者认为,这两个作为Python3较为常用且简单的GUI模块,是Python开发者所必须学习至少是了解的. 其中tkinter为Python3自带的GUI模块,而pyqt5则需要通过pip insta ...

  7. PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)详细教程

    摘要:Qt是常用的用户界面设计工具,而在Python中则使用PyQt这一工具包,它是Python编程语言和Qt库的成功融合.这篇博文通过图文详细介绍在PyCharm中如何完整优雅地安装配置PyQt5的 ...

  8. pyqt5 在qt designer后以弹窗的方式连接多个UI图形界面

    当我们通过pyqt开发时,eric6为我们提供了一个方便的工具:图形化的绘制UI工具--qt designer. 我们可以通过它开发多个UI,然后利用信号-槽工具,将功能代码附着在上面.也可以将多个界 ...

  9. qt designer设置界面是label中文字与文本框对齐设置

    往往在使用 qt designer布置界面时,添加的label和文本框中是直接从工具箱中拖进去的,由于每个控件尺寸大小不一,就会造成label中的文字相对于文本框比较较偏上,看下面未经调整的直接效果 ...

随机推荐

  1. 海量数据中找top K专题

    1. 10亿个数中找出最大的1000个数 这种题目就是分治+堆排序. 为啥分治?因为数太多了,全部加载进内存不够用,所以分配到多台机器中,或者多个文件中,但具体分成多少份,视情况而定,只要保证满足内存 ...

  2. html页面工具-htmlUnit

    HtmlUnit测试工具的推出,创意非常好.是一款给java开发用的browser.说它是browser,其实它是对html建模并且提供API来访问页面,点击链接等等的java类库.     这样的测 ...

  3. 【转】WPF自定义控件与样式(3)-TextBox & RichTextBox & PasswordBox样式、水印、Label标签、功能扩展

    一.前言.预览 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等. 本文主要是对文本输入控件进行样式开发,及相关扩展功能开发,主要内容包括: 基本文 ...

  4. 错误代码CS0051可访问性不一致_解决方案

    一.问题的出现 用C#在写多线程时报错 二.解决方案 1,分析思路 本来对BaseStruct设置为私有访问,但调用时又想公开化,从而造成了编译错误. 2,解决 将红色部分改为公有 3,总结 注意pu ...

  5. Git -- 使用GitHub

    我们一直用GitHub作为免费的远程仓库,如果是个人的开源项目,放到GitHub上是完全没有问题的.其实GitHub还是一个开源协作社区,通过GitHub,既可以让别人参与你的开源项目,也可以参与别人 ...

  6. asp.net mvc 3.0 知识点整理 ----- (4).asp.net mvc 3 和asp.net mvc 4 对比

    asp.net mvc的版本更新很快,每个版本都在前一个版本的基础上,进行性能的优化和功能的完善和提升. 以下,便是我对比了下两个版本,发现最基本的差异.(更新补充中..) 一.关于配置类Global ...

  7. 128、View 绘制流程 & 自定义View

    记清楚函数调用的顺序才能准确地进行调用. 根据调用链,可将整个绘制过程分为三部分:Measure - Layout - Draw Measure 过程 1. 测量过程由上至下,在measure过程的最 ...

  8. 安装redis出现cc adlist.o /bin/sh:1:cc:not found的解决方法

    安装redis时 提示执行make命令时提示 CC adlist.o /bin/sh: cc: 未找到命令   问题原因:这是由于系统没有安装gcc环境,因此在进行编译时才会出现上面提示,当安装好gc ...

  9. 终端IO(上)

    一.综述 终端IO有两种不同的工作方式: 规范方式输入处理.在这种方式中,终端输入以行为单位进行处理.对于每个读要求,终端驱动程序最多返回一行. 非规范方式输入处理.输入字符不以行为单位进行装配 如果 ...

  10. vs2017企业版本安装和序列号

    离线包大概下载为19G,可以选择的选择项很多,很不错,安装如下: 安装完成 启动效果 SharePoint插件自带了 离线包(19G) Visual Studio 2017(VS2017) 企业版En ...