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. Java编程的逻辑 (79) - 方便的CompletionService

    ​本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http: ...

  2. Sass的安装(windows 10)

    1.下载ruby 下载地址:https://rubyinstaller.org/downloads/ 如果觉得下载速度过慢,可以在我的百度去下载: 链接:https://pan.baidu.com/s ...

  3. 学习Mysql过程中拓展的其他技术栈:Docker入门介绍

    一.Docker的介绍和安装 1. Docker是什么 百度百科的介绍: Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linu ...

  4. IOC容器特性注入第四篇:容器初始化

    IOC容器,就是把各种服务都注入到容器里,想要什么就去拿什么,不仅解决服务类和接口类的耦合度还可以提高性能方便管理. 这里封装一个接口类和一个实现类 1.IContainerManager接口 pub ...

  5. osg::Image::AllocationMode

    enum osg::Image::AllocationMode{ NO_DELETE, USE_NEW_DELETE, USE_MALLOC_FREE };

  6. sencha touch 在新版谷歌浏览器中painted事件无法触发解决方案以及carousel 控件、togglefield控件、滚动条失效

    在2.3/2.4版本中,新版谷歌浏览器(43.44版本)里面painted事件是不会触发的,以及carousel 控件.togglefield控件.滚动条失效,官方的解决方案如下,测试可用 会出现这个 ...

  7. HTML+CSS:圆形和圆角图片格式

    效果展示 实现代码 <!DOCTYPE html> <html> <head> <title>JcMan</title> <style ...

  8. git 搭建本地仓库

    文档 创建仓库 mkdir project cd project/ git init git remote add origin /d/project/.git // 仓库创建好了 echo hell ...

  9. C++编程相关工具

    1 文档类  (1) Doxygen  参考站点:http://www.doxygen.org  Doxygen是一种适合C风格语言(如C++.C.IDL.Java甚至包括C#和PHP)的.开放源码的 ...

  10. 使用ELK收集分析MySQL慢查询日志

    参考文档:https://www.cnblogs.com/bixiaoyu/p/9638505.html MySQL开启慢查询不详述 MySQL5.7慢查询日志格式如下 /usr/local/mysq ...