PyQt5:QSlider滑块、QLabel标签(25)

原创 2016年06月01日 00:47:19

学习《PyQt4入门指南 PDF中文版.pdf 》笔记

QSlider滑块、QLabel标签

         滑块部件由一个简单的操控杆构成,用户可以通过向前或向后滑动滑块来选择数据。这种选择数据的方式对一些特殊的任务来说比单纯的提供一个数据或使用spinbox调整数据大小的方式要自然与友好的多。而标签部件则用来显示文本或图片。

         在一下的示例中,我们将在窗口中显示一个滑块和一个标签。这次我们将在标签部件中显示图片,并使用滑块来控制其显示内容。

<span style="font-size:12px;">#!/usr/bin/python
# slider-label.py

from PyQt5.QtWidgets import QApplication, QLabel, QSlider
from PyQt5 import QtWidgets
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QPixmap

class SliderLabel(QtWidgets.QWidget):
    def __init__(self, parent= None):
        QtWidgets.QWidget.__init__(self)
        
        self.setGeometry(300, 300, 500, 320)
        self.setWindowTitle('SliderLabel')
        self.slider = QSlider(Qt.Horizontal, self)
        self.slider.setFocusPolicy(Qt.NoFocus)
        self.slider.setGeometry(30, 40, 100, 30)
        self.slider.valueChanged.connect(self.changeValue)
        self.label = QLabel(self)
        self.label.setPixmap(QPixmap('icons/1.png'))
        self.label.setGeometry(160, 40, 300, 250)

        
    def changeValue(self, value):
        pos = self.slider.value()
        if pos == 0:
            self.label.setPixmap(QPixmap('icons/1.png'))
        elif 0 < pos <= 30:
            self.label.setPixmap(QPixmap('icons/2.png'))
        elif 30 < pos < 80:
            self.label.setPixmap(QPixmap('icons/3.png'))
        else:
            self.label.setPixmap(QPixmap('icons/4.png'))
        

if __name__ == "__main__":
    import sys
    app = QApplication(sys.argv)
    qb = SliderLabel()
    qb.show()
    sys.exit(app.exec_())</span>

         在这个示例中我们拖动滑块去改变标签部件中的图片显示。

         self.slider= QSlider(Qt.Horizontal, self)

         通过该语句我们创建了一个水平滑块部件,当然你也可以创建一个垂直方向的。

         self.label= QLabel(self)

         self.label.setPixmap(QPixmap('icons/1.png'))

         以上两行语句用来创建一个标签部件并将1.png放置进去显示。

         self.slider.valueChanged.connect(self.changeValue)

         这行语句将滑块的valueChanged()信号与自定义的changeValue()方法相连接。

         pos= self.slider.value()语句用来获取当前的滑块位置。



版权声明:本文为博主原创文章,未经博主允许不得转载。

PyQt5系列教程(七)控件

软硬件环境 Windows 10 Python 3.4.2 PyQt 5.5.1 PyCharm 5.0.4 前言控件是PyQt应用程序的基石。PyQt5自带很多不同的控件,包括像button、che...

Pyqt5系列(七)-信号与槽机制

信号和槽机制是 QT 的核心机制,要精通 QT 编程就必须对信号和槽有所了解。信号和槽是一种高级接口,应用于对象之间的通信,它是 QT 的核心特性,也是 QT 区别于其它工具包的重要地方。 在l...

PyQt5:QProgressBar进度条(26)

学习《PyQt4入门指南 PDF中文版.pdf 》笔记 当我们在处理一个耗时较长的任务时,可能就会用到进度条部件。因为使用进度条可以形象告诉用户当前的任务正在进行中。PyQt5工具包提供了水平和...

PyQt5教程(十)——自定义控件

PyQt5包含种类丰富的控件。但能满足所有需求的控件库是不存在的。通常控件库只提供了像按钮、文本控件、滑块等最常用的控件。但如果需要某种特殊的控件,我们只能自己动手来实现。 自定义控件需要使用工具库提...

PyQt5教程(四)——事件与信号

在这部分教程中我们将探讨在程序内部发生的事件与信号。事件所有的GUI程序都是事件驱动的。事件主要由用户触发,但也可能有其他触发方式:例如网络连接、window manager或定时器。当我们调用QAp...

pyqt4文档阅读(2):QSlider

QSlider

[PyQt] 自定义QSlider支持鼠标点击和滚轮事件

from PyQt4.QtGui import * from PyQt4.QtCore import * class progressSlider(QSlider): def __init__...
  • wn0112
  • wn0112
  • 2015年08月05日 16:54
  • 2622

PyQt中QLabel背景与字体的一些设置

一般来说,对QLabel的背景和字体设置的话,有两种方法:一种是使用样式表,就是stypesheet,另一种就是不使用样式表了。 label的字体设置,背景设置的一些常用方法的使用。...

PyQt给QLabel添加双击事件

PyQt给QLabel添加双击事件
  • dxt1107
  • dxt1107
  • 2015年08月20日 14:08
  • 2948

PyQt5教程-13-滑块控件

QSlider 是一个具有可来回拉动手柄的控件。有时使用滑块比输入数字或使用旋转框更方便。在我们的例子中,我们将创建一个滑块和一个标签。标签显示图像。滑块将控制标签显示的图像。#!/usr/bin/p...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PyQt5:QSlider滑块、QLabel标签(25)
举报原因:
原因补充:

(最多只允许输入30个字)