滑块QAbstractSlider

继承于 QWidget
抽象类-必须子类化
提供的范围内的整数值
QAbstractSlider
import sys
from PyQt5.QtWidgets import QApplication, QWidget,QAbstractSlider,QSlider,QLabel,QPushButton
from PyQt5.QtCore import Qt class Demo(QWidget):
def __init__(self):
super().__init__()
self.resize(300,300) self.label=QLabel('0 ',self)
self.label.move(80,20) #print(QAbstractSlider.__subclasses__()) #返回QAbstractSlider有几个子类
#共有三个子类:QDial QScrollBar QSlider #QAbstractSlider是抽象类,在窗口中不能显示,所以下面借助于它的子类来验证它的功能 sd=QSlider(self) #创建一个竖直滑块
sd.move(50,50) sd.setMaximum(80) #设置最大值,默认99
#maximum() -> int 返回最大值 sd.setMinimum(10) #设置最小值,默认0
#minimum() -> int 返回最小值 sd.setValue(60) #设置当前值
print(sd.value()) #返回当前值 sd.setSingleStep(5) #设置単步步长--小步长
#按键盘的上下箭头才有效
#singleStep() -> int 返回単步步长 sd.setPageStep(10) #设置页步长
#按键盘的PgUp PgDn才有效
#pageStep() -> int 返回页步长 sd.setTracking(True) #是否追踪-默认值True
#如果设为False 鼠标拖拽滑块时,只有释放鼠标后,才会发出valueChanged信号
#hasTracking() -> bool 返回是否追踪 sd.setSliderPosition(50) #设置滑块的位置
#如果setTracking设置为False时,这条指令不会发出valueChanged信号
#sliderPosition() -> int 返回滑块的位置 sd.setInvertedAppearance(True) #倒立外观-大小头反过来
#invertedAppearance() -> bool 返回是否倒立外观 sd.setInvertedControls(True) #操作反转--上下键位反过来
#invertedControls() -> bool 返回是否操作反转 sd.setOrientation(Qt.Vertical) #设置滑块方向
#Qt.Horizontal 水平
#Qt.Vertical 竖直--默认
#orientation() -> Qt.Orientation 返回滑块的方向 #setSliderDown(bool) 设置是否按下
#isSliderDown() -> bool 返回isSliderDown() -> bool # 信号
sd.valueChanged.connect(self.AA) # 滑块的值发生改变时发出信号
# 会向槽函数传递一个值--滑块对应的值 #sd.sliderPressed.connect(self.BB) #滑块被按下时发出信号 #sd.sliderMoved.connect(self.CC) #滑块被移动时发出信号
# 会向槽函数传递一个值--滑块对应的值 #sd.sliderReleased.connect(self.DD) #滑块被释放时发出信号 sd.actionTriggered.connect(self.EE) #滑块有行为时发出信号
#会向槽函数传递一个参数--行为值
#QAbstractSlider.SliderSingleStepAdd=1 単步步长增加时
#QAbstractSlider.SliderSingleStepSub=2 単步步长减小时
#QAbstractSlider.SliderPageStepAdd=3 页步长增加时
#QAbstractSlider.SliderPageStepSub=4 页步长减小时
#QAbstractSlider.SliderMove=7 滑块移动时 #rangeChanged(int min,int max) 当最大值最小值发生变化时 def EE(self,val):
print('滑块的行为是:',val)
def DD(self):
print('滑块被释放了')
def CC(self,val):
print('滑块被移动了',val)
def AA(self,val):
self.label.setText(str(val))
pass
def BB(self):
print('滑块被按下了') if __name__ == '__main__':
app = QApplication(sys.argv)
demo = Demo()
demo.show()
sys.exit(app.exec_())
子类 QSlider
样式:

import sys
from PyQt5.QtWidgets import QApplication, QWidget,QSlider class Demo(QWidget):
def __init__(self):
super().__init__()
self.resize(300,300) sd=QSlider(self)
sd.move(100,50)
sd.resize(30,250) sd.setTickPosition(QSlider.TicksBothSides) #设置刻度线
#QSlider.NoTicks=0 不要画任何刻度线。
#QSlider.TicksBothSides=3 在凹槽两侧画刻度线。
#QSlider.TicksAbove=1 在(水平)滑块上方绘制刻度线
#QSlider.TicksBelow=2 在(水平)滑块下方绘制刻度线
#QSlider.TicksLeft=1 在(垂直)滑块的左侧绘制刻度线
#QSlider.TicksRight=2 在(垂直)滑块右侧绘制刻度线
#sd.tickPosition() -> QSlider.TickPosition 返回刻度线 sd.setTickInterval(5) #刻度线间隔
#sd.tickInterval() -> int 返回刻度线间隔 if __name__ == '__main__':
app = QApplication(sys.argv)
demo = Demo()
demo.show()
sys.exit(app.exec_())
子类 QScrollBar
import sys
from PyQt5.QtWidgets import QApplication, QWidget,QScrollBar
from PyQt5.QtCore import Qt class Demo(QWidget):
def __init__(self):
super().__init__()
self.resize(300,300) #使用户能够访问比用于显示它的窗口小部件更大的文档部分
#一般是结合QAbstractScrollArea使用
#滚动条通常包括四个单独的控件:滑块,滚动箭头和页面控件
sb=QScrollBar(self)
sb.resize(20,280)
sb.move(270,0)
sb1 = QScrollBar(self)
sb1.setOrientation(Qt.Horizontal)
sb1.resize(280,20)
sb1.move(0,280) #滑块的长度=页步长 sb.valueChanged.connect(self.AA)
sb.grabKeyboard() #捕获键盘
#这个有2个控件可以捕获键盘,不设置的话系统不知道让哪个控件来捕获 def AA(self,val):
print(val) if __name__ == '__main__':
app = QApplication(sys.argv)
demo = Demo()
demo.show()
sys.exit(app.exec_())
QDial-圆形滑块

import sys
from PyQt5.QtWidgets import QApplication, QWidget,QDial
from PyQt5.QtCore import Qt class Demo(QWidget):
def __init__(self):
super().__init__()
self.resize(300,300) dl=QDial(self)
dl.move(100,100)
dl.valueChanged.connect(self.AA) dl.setNotchesVisible(True) #是否显示刻度
#notchesVisible() -> bool 返回是否显示刻度
#大刻度--页步长 小刻度--単步步长 #dl.setWrapping(True) #是否启用包裹
#启用则会在控件周边都设置上刻度, 可以任意指向
#wrapping() -> bool 返回是否启用包裹 dl.setNotchTarget(10) #设置多少间距一个刻度
#浮点数,表示值10一个刻度
#notchTarget() -> float 返回这个值 def AA(self,val):
print(val) if __name__ == '__main__':
app = QApplication(sys.argv)
demo = Demo()
demo.show()
sys.exit(app.exec_())
天子骄龙
滑块QAbstractSlider的更多相关文章
- pyqt5的使用目录
pyqt5的安装 我的第一个例子 标签控件QLabel的使用 按钮QPushButton 信号与槽 pyqt5模块介绍 pycharm活动模板 QObject 定时器 QWidget类-坐标系 ...
- 【PyQt5-Qt Designer】QSlider滑块
QSlider滑块 QSlider简介 QSlider小部件提供了一个垂直或水平滑块. 滑块是控制有界值的经典控件.它允许用户沿水平或垂直凹槽移动滑块手柄,并将手柄的位置转换为合法范围内的整数值. Q ...
- Qt Widgets——抽象滑块及其继承类
三个可视类的默认外观分别如下(win7):它们的滑块都处于最小值0处. 理解QAbstractSlider时 可将它想成就是QScrollBar(该小部件的外观比较多地拥有QAbstractSlide ...
- GUI学习之二十——QAbstractSlider学习总结
今天学习一种全新的输入控件——QAbstractSlider()滑块控件的基础控件. 一.描述: QAbstractSlider()是QWidget()的子类,提供了一个范围内的整数值.它是QSlid ...
- 第15.44节、PyQt输入部件:QAbstractSlider派生类QScrollBar滚动条、QSlider滑动条、QDial刻度盘功能详解
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一.引言 Designer中的输入部件Horizo ...
- 第三十七章、PyQt输入部件:QAbstractSlider派生类QScrollBar滚动条、QSlider滑动条、QDial刻度盘功能介绍
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一.引言 Designer中的输入部件Horizo ...
- PyQt(Python+Qt)学习随笔:QScrollBar以及QAbstractSlider滚动条部件功能详解
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一.概述 在Designer输入部件中Horizo ...
- iOS系列 基础篇 09 开关、滑块和分段控件
iOS系列 基础篇 09 开关.滑块和分段控件 目录: 案例说明 开关控件Switch 滑块控件Slider 分段控件Segmented Control 1. 案例说明 开关控件(Switch).滑块 ...
- jquery版滑块导航栏
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <script src ...
随机推荐
- prism Callback应用
Mock<IEventAggregator> mockEventAggregator; Mock<MyEvent> mockEvent; mockEventAggregator ...
- 5.2.k8s.Secret
#Secret Secret存储密码.token.密钥等敏感数据 Secret以Volume或环境变量方式使用 #Secret类型 Opaque : base64 编码格式的 Secret kuber ...
- 【AOP】操作相关术语---【Spring】的【AOP】操作(基于aspectj的xml方式)
[AOP]操作相关术语 Joinpoint(连接点):类里面哪些方法可以被增强,这些方法称为连接点. Pointcut(切入点):在类里面可以有很多的方法被增强,比如实际操作中,只是增强了类里面add ...
- 解决Pip install Pillow 失败问题
当我在使用Django一个上传图片功能的时候, Django 提示我安装 Pillow这个图片处理的库, 当我尝试安装的时候. 总是提示安装失败 报如下错误. v = self._sslobj.rea ...
- 获取使用GitHub api和Jira api Authentication的方法
近段时间在搭建我司的用例管理平台,有如下需求: 1.需要根据项目--版本--轮次的形式来管理项目用例,用例统一保存在git工程. 2.执行用例时,如果用例执行失败,可以通过平台在Jira上提bug. ...
- 算法之美&数据结构与算法复习
1.归并两个有序链表(归并排序) 2.最小路径和--BP解法 3.计算int sqrt(x)--二分解法 4.趣味面试题 5.跳步游戏(Jump_Game)--后向回溯算法 6.Excel列号转十进制 ...
- tensorflow学习之Saver保存读取
目前不是很懂..但主要意思是tf可以把一开始定义的参数,包括Weights和Biases保存到本地,然后再定义一个变量框架去加载(restore)这个参数,作为变量本身的参数进行后续的训练,具体如下: ...
- C++ vector、list和deque的区别 (整理)
1.vector数据结构 vector和数组类似,拥有一段连续的内存空间,并且起始地址不变.因此能高效的进行随机存取,时间复杂度为o(1);但因为内存空间是连续的,所以在进行插入和删除操作时,会造成内 ...
- 【Linux U-boot】U-Boot相关命令
<1> help --帮助命令环境变量相关: <2> printenv --查看环境变量也可以使用缩写:print 查看某一个环境变量的值,例子:printenv bootar ...
- SQL Server中的扩展事件学习系列
SQL Server 扩展事件(Extented Events)从入门到进阶(1)——从SQL Trace到Extented Events SQL Server 扩展事件(Extented Event ...