1、QSlider功能作用和信号

刻度控制:在控件的周边显示一些刻度线展示给用户看,类似于温度计所展示的效果。

设置刻度线所展示的位置:settTickPosition()。

设置刻度线密度。

sd.setPageStep(5):不仅调整刻度,也会影响页的步长(pagedown和pageup)

每隔五个绘制一个 sd.setTickInterval(5):仅调整刻度,并非控制页的步长。

        #sd.setPageStep(5)# 每隔五个绘制一个sd.setTickInterval(5)

2、QSlider---拓展案例:

在滑块移动时,通过标签展示滑块当前的数值,并要求标签位置一直在滑块所在位置中间。

滑块移动时值改变,展示当前数据;滑块与标签位置需要保持一直(需要计算滑块位置)。

x的位置需要计算,y的位置与滑块保持一致即可;值的比例和高度比例应该相等。(y位置需要求解的是一个像素),高度像素和整个控件的比例。

方法1:自定义控件类别,子类化控件,在他的内部监听鼠标的点击和移动。

坐标计算:(控件需要移动的距离是红色部分)

from PyQt5.Qt import *# # 为了兼容引入如下参数
class Slider(QSlider):def __init__(self, parent=None, *args, **kwargs):super().__init__(parent=None, *args, **kwargs)self.setTickPosition(QSlider.TicksBothSides)self.setup_ui()# 添加子控件方法def setup_ui(self):self.label = QLabel(self)self.label.setText("0")self.label.setStyleSheet("color:red")# 隐藏标签,一开始隐藏标签self.label.hide()# 监听鼠标按下事件def mousePressEvent(self, evt):super().mousePressEvent(evt)x = (self.width() - self.label.width()) / 2y = ((1 - self.value() / (self.maximum() - self.minimum())) * (self.height() - self.label.height()))# 点击鼠标之后显示标签self.label.show()self.label.move(x, y)# 鼠标移动方法def mouseMoveEvent(self, evt):super().mouseMoveEvent(evt)x = (self.width() - self.label.width()) / 2y = (1 - self.value() / (self.maximum() - self.minimum()) * self.height() - self.height())self.label.show()self.label.move(x, y)# 改变标签内部的数值self.label.setText(str(self.value()))self.label.adjustSize()# 监听鼠标释放方法# def mouseReleaseEvent(self, evt):#     super().mouseReleaseEvent(evt)#     #self.label.hide()class Window(QWidget):def __init__(self):super().__init__()self.setWindowTitle("QSlider的学习")self.resize(500, 500)self.setup_ui()def setup_ui(self):# 控件1slider = Slider()slider.setParent(self)slider.move(200, 200)slider.resize(30, 200)if __name__ == "__main__":import sysapp = QApplication(sys.argv)window = Window()window.resize(500, 500)window.show()sys.exit(app.exec_())

3、QScrollBar()功能作用:用于显示比他的窗口小部件更大的物体,很少单独使用。

空白区域即页面控件。

监听滚动条值的变化,根据变化值做相关处理就可以了。(监听用户拖拽滚动条应该怎么做)

控件的尺寸需要手动调整。

可滚动区域:最大值-最小值;

控件宽度:可滚动区域+Page Step(滑块的宽度)

from PyQt5.Qt import *class Window(QWidget):def __init__(self):super().__init__()self.setWindowTitle("QScrollBar的学习")self.resize(500, 500)self.setup_ui()def setup_ui(self):sb = QScrollBar(self)# 这个控件需要手动调整大小sb.resize(30, 200)sb.move(100, 100)sb2 = QScrollBar(Qt.Horizontal, self)sb2.resize(200, 30)sb2.move(100, 100)sb.valueChanged.connect(lambda val: print(val))# 滑块高度变高sb.setPageStep(50)# 捕获当前键盘sb.grabKeyboard()if __name__ == "__main__":import sysapp = QApplication(sys.argv)window = Window()window.resize(500, 500)window.show()sys.exit(app.exec_())

调节滑块的宽和高可以根据page step修改。

通过page up控制控件高度。

QSlider功能作用和信号相关推荐

  1. cpu功能解析,cpu功能作用与其工作过程

    cpu即中央处理器,是计算机的运算核心和控制核心.cpu中央处理器(CPU,Central Processing Unit)是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心( C ...

  2. 动力环境监控系统的必要性及功能作用!

    随着信息技术的发展和科学技术的进步,对机房动力设备和环境的管理要求更加科学化.规范化,从减员增效的角度出发,要求机房实现少人.无人值守.机房动力环境监控系统的实施为实现上述目标提供了一个有效的手段. ...

  3. 中继器,集线器,交换机,网桥,网关,路由器的功能作用及区别

    中继器,集线器,交换机,网桥,网关,路由器的功能作用及区别 两台计算机连接:两台电脑通过两块网卡构成"双机互连",两块网卡之间一般是由非屏蔽双绞线来充当信号线的.由于双绞线在传输信 ...

  4. 超详细的 摄像头PIN脚功能作用

    摄像头PIN脚功能作用,Camera硬件系统分析 转载地址:WWW.CCM99.COM           从sensor本身的引脚来看,它们一般有如下一些需要配置的引脚:RESET,PWRDWN,V ...

  5. 丰度决定了细菌在复杂群落中的功能作用

    本文转载自"微生态笔记",已获授权 标题:Abundance determines the functional role of bacterial phylotypes in c ...

  6. PHP中的常见魔术方法功能作用及用法实例

    这篇文章主要介绍了PHP中的常见魔术方法功能作用及用法实例,本文讲解了构造函数和析构函数__construct()和__desctruct()以及属性重载(Property Overloading)_ ...

  7. 开关稳压电源过热(高温)保护功能作用--来自中港扬盛分享干货

    开关稳压电源过热(高温)保护功能作用 中港扬盛来分享一下吧,开关稳压电源的高集成化和轻量小体积,使其单位体积内的功率密度大大提高,电源装置内部的元器件对其工作环境温度的要求也相应提高.否则,会使电路性 ...

  8. 计算机管理是什么控件,Win7旗舰版系统WMI控件的功能作用是什么?

    Win7旗舰版系统电脑用户不知道有没听说过wmi控件?其实windows操作系统都是由很多不同的控件组成的,而WMI控件便是其中之一,每个不同的控件功能作用都不同,Win7旗舰版系统WMI控件的功能作 ...

  9. 运算器和控制器在计算机的作用,运算器和控制器功能作用(修改版).ppt

    运算器和控制器功能作用(修改版) 运算器部件: 是计算机加工处理数据的功能部件是 CPU的重要组成部分. 对数据的加工处理包括: 与.或.非.异或等. ALU是运算器中的核心部件.也是运算器内部传送数 ...

最新文章

  1. MySQL最新版8.0.21安装配置教程~
  2. IDEA使用GsonFormat完成JSON和JavaBean之间的转换
  3. create a new JSON model with url will trigger SAP UI5 AJAX
  4. IoTSharp 2.0 发布
  5. unity hub服务器无响应_累积更新KB4541335反馈称无法安装 出现无响应情况
  6. Silverlight实例教程 - 理解Navigation导航框架Frame类
  7. Unity5.1 新的网络引擎UNET(十五) Networking 引用--下
  8. 【clickhouse】ClickHouse中的低基数(LowCardinality)类型
  9. 考驾照科目一考试很顺利
  10. Node起一个web服务器
  11. 如何加强站内搜索功能
  12. [转]C# 3.0入门系列(二)
  13. windows ***的搭建
  14. Python实现双色球号码随机生成
  15. 静态分析软件(QAC、Klocwork,Coverity等),单元测试软件集成测试软件 (VectorCAST、testbed、tessy、c++test等)下载安装使用试用
  16. 生成1-100随机数并进行猜测
  17. Scrapy爬虫以及Scrapyd爬虫部署
  18. Adyen海外支付 - Adyen回调
  19. 得物App购买记录数据爬取
  20. 特殊儿童领间最灿烂的一缕红——我们入队了

热门文章

  1. android rom打包解包工具,Android ROM包定制(解包,增删模块,打包)
  2. 新能源车动力总成技术探讨:混动和纯电之争、电驱动未来发展趋势
  3. 转:用迅雷下载Android SDK全系列
  4. GOCI数据批量下载
  5. 南京航空航天大学计算机组成原理,2017年南京航空航天大学计算机科学与技术学院829计算机专业基础之计算机组成原理考研题库...
  6. python爬取网易云音乐评论分析_Python爬取网易云音乐评论(附加密算法)
  7. cocoscreator热更新
  8. android高德地图自定义地图,(android地图开发) 高德地图自定义对话框
  9. VScode常用的快捷键
  10. 智慧工地具有哪些社会意义?