继承于 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的更多相关文章

  1. pyqt5的使用目录

    pyqt5的安装 我的第一个例子 标签控件QLabel的使用   按钮QPushButton 信号与槽 pyqt5模块介绍 pycharm活动模板  QObject 定时器  QWidget类-坐标系 ...

  2. 【PyQt5-Qt Designer】QSlider滑块

    QSlider滑块 QSlider简介 QSlider小部件提供了一个垂直或水平滑块. 滑块是控制有界值的经典控件.它允许用户沿水平或垂直凹槽移动滑块手柄,并将手柄的位置转换为合法范围内的整数值. Q ...

  3. Qt Widgets——抽象滑块及其继承类

    三个可视类的默认外观分别如下(win7):它们的滑块都处于最小值0处. 理解QAbstractSlider时 可将它想成就是QScrollBar(该小部件的外观比较多地拥有QAbstractSlide ...

  4. GUI学习之二十——QAbstractSlider学习总结

    今天学习一种全新的输入控件——QAbstractSlider()滑块控件的基础控件. 一.描述: QAbstractSlider()是QWidget()的子类,提供了一个范围内的整数值.它是QSlid ...

  5. 第15.44节、PyQt输入部件:QAbstractSlider派生类QScrollBar滚动条、QSlider滑动条、QDial刻度盘功能详解

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一.引言 Designer中的输入部件Horizo ...

  6. 第三十七章、PyQt输入部件:QAbstractSlider派生类QScrollBar滚动条、QSlider滑动条、QDial刻度盘功能介绍

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一.引言 Designer中的输入部件Horizo ...

  7. PyQt(Python+Qt)学习随笔:QScrollBar以及QAbstractSlider滚动条部件功能详解

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一.概述 在Designer输入部件中Horizo ...

  8. iOS系列 基础篇 09 开关、滑块和分段控件

    iOS系列 基础篇 09 开关.滑块和分段控件 目录: 案例说明 开关控件Switch 滑块控件Slider 分段控件Segmented Control 1. 案例说明 开关控件(Switch).滑块 ...

  9. jquery版滑块导航栏

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <script src ...

随机推荐

  1. 【Centos7】 中使用Supervisor守护进程

    原文出处: Centos7 中使用Supervisor守护进程 配置supervisor实现进程守护 1.安装supervisor yum install Supervisor   2.启动服务 su ...

  2. c++实验9 图及图的操作实验

    实验9 图及图的操作实验 --博客后半部分有程序的所有代码-- 1.图邻接矩阵存储结构表示及基本操作算法实现 (1)邻接矩阵存储结构类定义: #include "SeqList.h" ...

  3. 测开之路一百五十三:ajax之load、get、ajax在项目中的体现

    在查询的时候是使用ajax进行请求的 目录结构 personal.models from datetime import datetimefrom flask_sqlalchemy import SQ ...

  4. Unity3D-Canvas-UIScaleMode

    UnityCanvasUI自适应部分 用Canvas下的自适应UI Scale Mode: Constant Pixel Size:固定像素大小,无论如何UI怎么样就怎么样,只能通过 Scale Fa ...

  5. springBoot(2) HelloWorld

    首先 下载一个 Spring Boot环境. 下载地址:https://spring.io/tools3/sts/all 打开STS.exe 一,新建项目 然后在空白处新建: 1.New→Other→ ...

  6. Springboot2.x集成Redis哨兵模式

    Springboot2.x集成Redis哨兵模式 说明 Redis哨兵模式是Redis高可用方案的一种实现方式,通过哨兵来自动实现故障转移,从而保证高可用. 准备条件 pom.xml中引入相关jar ...

  7. 【Linux 环境搭建】ubuntu下nfs安装与配置

    (1)安装 #sudo apt-get install nfs-kernel-server portmap(2)修改配置文件 修改/etc/exports,增加以下内容, /root/wksp/roo ...

  8. STM32f103软件复位

    参考博客: http://bbs.21ic.com/icview-1251690-1-1.html stm32f103rct 软件复位函数: 在core_cm3.h文件 static __INLINE ...

  9. 【问题解决方案】Centos操作文件vim-No write since last change (add ! to override)

    参考链接 CSDN:Centos 7 操作文件No write since last change (add ! to override) 问题描述: :q或者:wq退出失败,显示如No write ...

  10. SpringMVC简单介绍及执行

    SpringMVC介绍 Spring MVC是Spring提供的一个强大而灵活的web框架.借助于注解,Spring MVC提供了几乎是POJO的开发模式,使得控制器的开发和测试更加简单.这些控制器一 ...