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()语句用来获取当前的滑块位置。



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

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

一般来说,对QLabel的背景和字体设置的话,有两种方法:一种是使用样式表,就是stypesheet,另一种就是不使用样式表了。 label的字体设置,背景设置的一些常用方法的使用。...
  • jiuzuidongpo
  • jiuzuidongpo
  • 2015年05月04日 20:01
  • 13739

Pyqt5系列(二 )-第一个PyQt程序

通过下面的一个PyQt5简单例子,来简单了解一下关于如何创建PyQt5的。具体代码如下: #-*- coding:utf-8 -*- ''' Frist PyQt5 program ''' __aut...
  • zhulove86
  • zhulove86
  • 2016年08月31日 19:29
  • 3672

PyQt5初级教程--PyQt5中的布局管理[5/13]

想用PyQt5写GUI,但是网上的PyQt5资源太少了,找到一个英文的,翻译一下,和学习PyQt5的同学共勉! (本系列中所有代码在windows7 64位[]/Python 3.4.3 32bit...
  • neverstop_2009
  • neverstop_2009
  • 2015年08月08日 06:07
  • 6350

PyQt给QLabel添加双击事件

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

[PyQt] 在QLabel上用drawText实现文字滚动

from PyQt4.QtGui import * from PyQt4.QtCore import * try: _fromUtf8 = QString.fromUtf8 except At...
  • wn0112
  • wn0112
  • 2015年08月04日 16:52
  • 2817

pyqt4文档阅读(2):QSlider

QSlider
  • ljhandlwt
  • ljhandlwt
  • 2016年08月20日 10:58
  • 983

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

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

PyQt5系列教程(七)控件

软硬件环境 Windows 10 Python 3.4.2 PyQt 5.5.1 PyCharm 5.0.4 前言控件是PyQt应用程序的基石。PyQt5自带很多不同的控件,包括像button、che...
  • djstavaV
  • djstavaV
  • 2016年02月25日 11:11
  • 3856

PyQt5的学习之路(七)

复选框#! /usr/bin/python # -*- coding: utf-8 -*-import sys from PyQt5.QtWidgets import QApplication, QW...
  • wukai_std
  • wukai_std
  • 2017年01月19日 16:09
  • 603

PyQT 5 QTextEdit实现Ctrl+鼠标滚动放大或缩小文本

from PyQt5 import QtCore from PyQt5.QtWidgets import QTextEdit class MyQTextEdit(QTextEdit): "...
  • u010909667
  • u010909667
  • 2016年12月11日 22:08
  • 927
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PyQt5:QSlider滑块、QLabel标签(25)
举报原因:
原因补充:

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