PyQt(Python+Qt)学习随笔:QDial刻度盘部件功能简介

2023-11-05 12:10

本文主要是介绍PyQt(Python+Qt)学习随笔:QDial刻度盘部件功能简介,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  • 专栏:Python基础教程目录
  • 专栏:使用PyQt开发图形界面Python应用
  • 专栏:PyQt入门学习
  • 老猿Python博文目录
  • 老猿学5G博文目录

一、概述

Designer中的Dial刻度盘输入部件提供一个圆形的刻度表,类似速度表,对应类为QDial类。QDial继承自QAbstractSlider(关于QAbstractSlider的功能请参考《PyQt(Python+Qt)学习随笔:QScrollBar以及QAbstractSlider滚动条部件功能详解》),因此刻度盘与滑动条类似。当wrapping属性值为False(默认设置)时,刻度盘和滑动条之间除了外观外没有真正的区别。它们共享相同的信号、插槽和成员函数。关于滑动条的功能请参考《PyQt(Python+Qt)学习随笔:QSlider滑动条部件功能简介》。

刻度盘的键盘操作相当简单:左键/上键和右键/下键按定义的单步移动指针和改变值,PgUp和PgDn按定义的页面步向上和向下移动指针和调整值,Home键和End键将移动指针到最小值和最大值。

如果使用鼠标滚轮调整刻度盘,则增量值由 wheelScrollLines乘以singleStep和pageStep的较小值确定。

二、QDial拨号盘部件的属性、方法和信号

QDial刻度盘部件的独有属性如下:

  • wrapping属性 :wrapping用于控制刻度盘上的刻度是否前后连接,如果为False,则最小值和最大值中间会有一段空白区域进行分隔,使用光标键调节值时指针只能在最小值和最大值之间移动,到达最大值或最小值时无法再朝对应方向移动。用鼠标拖拽指针可以越过最大值或最小值进行循环移动,但指针不能在空白区域段停留。如果wrapping为True,则指针移动到最大值或最小值时可以继续向对应方向移动,数值则跳转到最小值或最大值
  • notchesVisible属性:notchesVisible用于控制刻度盘上刻度线是否可见,可见时刻度线在表盘上平均分布
  • notchTarget属性:notchTarget用于控制刻度盘上刻度线之间的像素数量,表盘上刻度线的数量与4个属性相关,分别是最小值minimum、最大值maximum、singleStep单步数值以及notchTarget属性值,如果考虑notchTarget的值后表盘上的空间足够,刻度线的数量等于(maximum-minimum+1)/singleStep后四舍五入取整的值(假设为count),如果notchTarget设置过大导致count*notchTarget的值超过整个表盘的周长像素数,则只会绘制部分刻度线

除了构造方法以及上述属性的访问方法外,QDial的其他属性、方法和信号都是从父类派生的,比较重要的包括:

  • 当刻度盘的指针移动时,刻度盘最初会连续发出valueChanged()信号和sliderMoved()信号,可以通过禁用跟踪属性使其发出valueChanged()信号的频率降低,但sliderMoved()信号不受影响
  • 当拖拽指针移动时,按下和释放鼠标按钮时,刻度盘还会发出sliderPressed()和sliderReleased()信号
  • 与滑动条一样,刻度表可以使用QAbstractSlider的setValue()槽方法。

在《第15.35节 PyQt编程实战:结合QDial实现的QStackedWidget堆叠窗口程序例子》介绍了一个QDial的案例,大家可以回过头去看下。

跟老猿学Python、学5G!

  • 专栏:Python基础教程目录
  • 专栏:使用PyQt开发图形界面Python应用
  • 专栏:PyQt入门学习
  • 老猿Python博文目录
  • 老猿学5G博文目录

这篇关于PyQt(Python+Qt)学习随笔:QDial刻度盘部件功能简介的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/349758

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

C++11第三弹:lambda表达式 | 新的类功能 | 模板的可变参数

🌈个人主页: 南桥几晴秋 🌈C++专栏: 南桥谈C++ 🌈C语言专栏: C语言学习系列 🌈Linux学习专栏: 南桥谈Linux 🌈数据结构学习专栏: 数据结构杂谈 🌈数据库学习专栏: 南桥谈MySQL 🌈Qt学习专栏: 南桥谈Qt 🌈菜鸡代码练习: 练习随想记录 🌈git学习: 南桥谈Git 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈�

让树莓派智能语音助手实现定时提醒功能

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢? 我最后选择的方法是用threading.Time

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]