继承于 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. oracle存储过程和存储函数

    存储过程 1.存储过程简介 下面先来简单介绍一下oracle的存储过程的语法,如下: create or replace procedure Tony_Process ( num in number, ...

  2. 测开之路一百三十三:实现sql函数封装

    连接数据库的频率很高,所以把数据库操作封装起来 函数封装: def make_dicts(cursor, row): """ 将游标获取的Tuple根据数据库列表转换为d ...

  3. sql type subtype 统计

    select * from testtable; type subtype value a sa 1b sb 1a sb errorb sa errora sb 1b sb 1c sa errorc ...

  4. R-CNN, Fast R-CNN, Faster R-CNN, Mask R-CNN

    最近在看 Mask R-CNN, 这个分割算法是基于 Faster R-CNN 的,决定看一下这个 R-CNN 系列论文,好好理一下 R-CNN 2014 1. 论文 Rich feature hie ...

  5. offsetof与container_of宏分析

    offsetof宏:结构体成员相对结构体的偏移位置 container_of:根据结构体成员的地址来获取结构体的地址 offsetof 宏 原型: #define offsetof(TYPE, MEM ...

  6. 第二周JAVA总结

    学海无涯,在学习这件事情上得用点心了

  7. FTP-学习笔记(1)

    1.简单的SFTP.FTP文件上传下载 SftpTools.java package com.lfy.mian; import com.jcraft.jsch.*; import java.io.Fi ...

  8. Dos - 学习总结(1)

    1.控制台复制 1>鼠标右键,标记. 2>选定复制内容后,鼠标右键,完成复制. 2.

  9. linux系统管理基础知识

    1.linux的安装配置 虚拟机安装 Linux安装和分区 IP地址的配置 ifup eth0,ifdoen eth0 关闭不常用的程序 关闭selinux 远程登录(多用户,多任务) 用户和角色划分 ...

  10. localStorage的使用和vuex的拆分

    问题1:在隐身模式.或者用户未启用的情况下,使用localStorage可能会导致浏览器直接报错,怎么办? 方法:使用try-catch包裹 代码示例: store.jsimport Vue from ...