GUI学习之二十——QAbstractSlider学习总结
今天学习一种全新的输入控件——QAbstractSlider()滑块控件的基础控件。
一.描述:
QAbstractSlider()是QWidget()的子类,提供了一个范围内的整数值。它是QSlider,QScrollBar和QDial的父类(抽象类),将多种滑动控件的共性抽象了出来。
QAbstractSlider()是个抽象类,使用必须通过子类来实例化。下面的功能演示都有QSlider来实现。
二.功能作用
1.数值范围
默认的控件范围是0-9,可以通过设定来改变。
QAbstractSlider.setMaximum(self, a0: int) #设定最大值
QAbstractSlider.setMinimum(self, a0: int) #设定最小值
QAbstractSlider.maximum() #获取最大值——>int
QAbstractSlider.minimum() #获取最小值——>int
2.当前数值
QAbstractSlider.setValue(self, a0: int) #设定当前数值
QAbstractSlider.value() #获取最小值——>int
3.步长
步长是通过键盘操作时改变的值。分为单步步长和移页步长,单步是指用上下箭头改变的值(默认值为1),而移页是指用键盘pageup和pagedown操作时的步长(默认值为10)。
QAbstractSlider.setSingleStep(self, a0: int) #设置单步步长
QAbstractSlider.setPageStep(self, a0: int) #设置移页步长
QAbstractSlider.singleStep() #获取单步步长——>int
QAbstractSlider.pageStep() #获取移页步长——>int
4.是否追踪
追踪的设定主要影响到后面信号的发射,如果不追踪的话鼠标松在点击拖拽后松开前时是不会发送信号的,如果追踪的话只要改变了滑块位置就会发送个valuechanged这个信号的。
QAbstractSlider.setTracking(self, enable: bool) #追踪设置
QAbstractSlider.hasTracking() #获取是否追踪——>bool
5.滑块位置
QAbstractSlider.setSliderPosition(self, a0: int) #设定滑块位置
QAbstractSlider.sliderPosition() #获取滑块位置——>int
滑块位置的设定和是否追踪关联能影响到通过代码是否能够发送valuechanged信号

6.倒立外观
默认情况控件都是大值在上面小值在下面,启用了倒立外观就把大值放在了下面。
QAbstractSlider.setInvertedAppearance(self, a0: bool)#设置倒立外观
QAbstractSlider.invertedAppearance() #获取是否开启倒立——>bool
7.操作反转
默认情况控件按键盘上键或pageup为加数值,下或pagedown为减数值。启动了操作反转可以用上来减数值。
QAbstractSlider.setInvertedControls(self, a0: bool) #设置操作反转
QAbstractSlider.setInvertedControls() #获取是否操作反转——>bool
8.滑块方向
QAbstractSlider.setOrientation(Qt.Horizontal) #设置方向
QAbstractSlider.orientation() #获取方向——>int
Qt.Horizontal #横向,默认左小右大,返回值1
Qt.Vertical #纵向 返回值2
9.是否按下
这个功能用的少,主要是获取值。其实在不追踪的时候valuechanged的状态判定就是基于是否被按下的。如果返回值为False则发送信号。
QAbstractSlider.setSliderDown(self, a0: bool) #设置被按下
QAbstractSlider.isSliderDown() #获取是否被按下——>bool
三.信号
QAbstractSlider.valueChanged(self, value: int)
QAbstractSlider.sliderPressed(self)
QAbstractSlider.sliderMoved(self, position: int)
QAbstractSlider.sliderReleased(self)
QAbstractSlider.actionTriggered(self, action: int)
QAbstractSlider.rangeChanged(self, min: int, max: int)
都是字面的意思,没什么好讲的!只有一个actionTriggered要说一下,它对应有下面的枚举状态对应的返回值。
QAbstractSlider.SliderNoAction
QAbstractSlider.SliderSingleStepAdd #
QAbstractSlider.SliderSingleStepSub #
QAbstractSlider.SliderPageStepAdd #
QAbstractSlider.SliderPageStepSub #
QAbstractSlider.SliderToMinimum #
QAbstractSlider.SliderToMaximum #
QAbstractSlider.SliderMove #
但是第5、6个滑动到最大最小我一直没试出来,都是返回的7,就是滑块移动触发。
GUI学习之二十——QAbstractSlider学习总结的更多相关文章
- python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码
python3.4学习笔记(二十六) Python 输出json到文件,让json.dumps输出中文 实例代码 python的json.dumps方法默认会输出成这种格式"\u535a\u ...
- python3.4学习笔记(二十五) Python 调用mysql redis实例代码
python3.4学习笔记(二十五) Python 调用mysql redis实例代码 #coding: utf-8 __author__ = 'zdz8207' #python2.7 import ...
- python3.4学习笔记(二十四) Python pycharm window安装redis MySQL-python相关方法
python3.4学习笔记(二十四) Python pycharm window安装redis MySQL-python相关方法window安装redis,下载Redis的压缩包https://git ...
- python3.4学习笔记(二十二) python 在字符串里面插入指定分割符,将list中的字符转为数字
python3.4学习笔记(二十二) python 在字符串里面插入指定分割符,将list中的字符转为数字在字符串里面插入指定分割符的方法,先把字符串变成list然后用join方法变成字符串str=' ...
- python3.4学习笔记(二十) python strip()函数 去空格\n\r\t函数的用法
python3.4学习笔记(二十) python strip()函数 去空格\n\r\t函数的用法 在Python中字符串处理函数里有三个去空格(包括'\n', '\r', '\t', ' ')的函数 ...
- 学习笔记:CentOS7学习之二十五:shell中色彩处理和awk使用技巧
目录 学习笔记:CentOS7学习之二十五:shell中色彩处理和awk使用技巧 25.1 Shell中的色彩处理 25.2 awk基本应用 25.2.1 概念 25.2.2实例演示 25.3 awk ...
- 学习笔记:CentOS7学习之二十四:expect-正则表达式-sed-cut的使用
目录 学习笔记:CentOS7学习之二十四:expect-正则表达式-sed-cut的使用 24.1 expect实现无交互登录 24.1.1 安装和使用expect 24.2 正则表达式的使用 24 ...
- 学习笔记:CentOS7学习之二十二: 结构化命令case和for、while循环
目录 学习笔记:CentOS7学习之二十二: 结构化命令case和for.while循环 22.1 流程控制语句:case 22.2 循环语句 22.1.2 for-do-done 22.3 whil ...
- 学习笔记:CentOS7学习之二十:shell脚本的基础
目录 学习笔记:CentOS7学习之二十:shell脚本的基础 20.1 shell 基本语法 20.1.1 什么是shell? 20.1.2 编程语言分类 20.1.3 什么是shell脚本 20. ...
随机推荐
- maven使用常见问题
1.我写的是src/main/java/config/mybatis-cofig.xml 但总是报错 Could not find resource src/main/java/config/myba ...
- LInux 下PHP环境配置 Redis 总结
系统 Deepin ,环境 PHP7.0 + Apache2 安装 Redis 服务 sudo apt-get install redis-server //安装 sudo /etc/init.d/r ...
- leetcode-easy-array-283 move zeros
mycode 77.24% class Solution(object): def moveZeroes(self, nums): """ :type nums: Li ...
- 1、Shiro简介以及整体架构
1.Shiro概念和作用: 利用shiro可以快速完成权限管理模块的开发 Spring的官网也是用Shiro做安全管理的... Shiro整体架构: 可能你感觉上面的图片很乱,但是你一定要先大体有个印 ...
- Vue项目移动端滚动穿透问题
概述 今天在做 Vue 移动端项目的时候遇到了滚动穿透问题,在网上查资料后,选取了我觉得最好的方法,记录下来供以后开发时参考,相信对其他人也有用. 上层无需滚动 如果上层无需滚动的话,直接屏蔽上层的 ...
- Flink组件及特性
Flink 是一个针对流数据和批数据的分布式处理引擎.它主要是由 Java 代码实现.目前主要还是依靠开源社区的贡献而发展.对 Flink 而言,其所要处理的主要场景就是流数据,批数据只是流数据的一个 ...
- Debian系统中当安装deb软件时出现:deb cdrom:[Debian GNU/Linux 9.3.0 _Stretch_ - Official amd64 DVD Binary-1 20171209-12:11]/ stretch contrib main
vi /etc/apt/sources.list // 注释掉下面这句话# deb cdrom:[Debian GNU/Linux 9.3.0 _Stretch_ - Official amd64 D ...
- 现有1~100 共一百个自然数,已随机放入一个有98个元素的数组a[98].要求写出一个尽量简单的方案找出没有被放入数组的那2个数,并在屏幕上打印这2个数
void test7() { try { ]; ]; ]; ; ; int i; ; i < num.Length; i++) { num[i] = i + ; num1[i] = i + ;/ ...
- MyEclipse中的查找快捷键
MyEclipse中的查找快捷键 1.Ctrl+H:可以搜索文件,Java类名.方法名.包名等等. 例如:在MyEclipse中打开Search弹出框,或者在菜单中打开Search弹出框, 定位到 F ...
- Django框架效率问题的解决方法和总…
由于项目的需要,学习了Django框架,Django框架的MTV很清晰,通过MTV能够很好地了解Django框架的内部机理.但是在使用过程中发现了一个严重的问题,就是当有大量IO(写数据库操作)的时候 ...