PyQt4滑块QSlider、标签QLabel

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

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

#!/usr/bin/python
# -*- coding: utf-8 -*-

import sys
from PyQt4 import QtGui, QtCore 

class SliderLabel(QtGui.QWidget):
    def __init__(self, parent = None):
        QtGui.QWidget.__init__(self, parent)
        self.setGeometry(300, 300, 250, 150)
        self.setWindowTitle(‘Slider Label‘)
        self.slider = QtGui.QSlider(QtCore.Qt.Horizontal, self)
        self.slider.setFocusPolicy(QtCore.Qt.NoFocus)
        self.slider.setGeometry(30, 40, 100, 30)
        self.connect(self.slider, QtCore.SIGNAL(‘valueChanged(int)‘),
                        self.changeValue)
        self.label = QtGui.QLabel(self)
        self.label.setPixmap(QtGui.QPixmap(‘mute.png‘))
        self.label.setGeometry(160, 25, 64, 64)

    def changeValue(self):
        pos = self.slider.value()
        if pos == 0:
            self.label.setPixmap(QtGui.QPixmap(‘mute.png‘))
        elif pos <= 30:
            self.label.setPixmap(QtGui.QPixmap(‘min.png‘))
        elif pos < 80:
            self.label.setPixmap(QtGui.QPixmap(‘med.png‘))
        else:
            self.label.setPixmap(QtGui.QPixmap(‘max.png‘))

app = QtGui.QApplication(sys.argv)
sl = SliderLabel()
sl.show()
sys.exit(app.exec_())

效果:

注意:QLabel的像素的大小要与图片的大小相适应,这里我用的图标的大小就是64x64的。

在这个示例中我们模拟一个音量控制的场景,通过拖动滑块来改变变迁部件中的图片显示。

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

通过该语句我们创建了一个水平华东部件。

self.label = QtGui.QLabel(self)
        self.label.setPixmap(QtGui.QPixmap(‘mute.png‘))

以上两行用来创建一个标签部件并将mute.png加入到该部件中显示。

self.connect(self.slider, QtCore.SIGNAL(‘valueChanged(int)‘),
                        self.changeValue)

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

pos = self.slider.value()

用来获取当前滑块的位置。

时间: 2024-11-10 07:37:10

PyQt4滑块QSlider、标签QLabel的相关文章

Qt自定义带游标的slider,在滑块正上方显示当前值(非常有意思,继承QSlider之后增加一个QLabel,然后不断移动它)

首先自定义QSlider的子类MyCustomSlider,如下所示. mycustomslider.h [cpp] view plain copy #ifndef MYCUSTOMSLIDER_H #define MYCUSTOMSLIDER_H #include <QSlider> #include <QLabel> #include <QMouseEvent> class MyCustomSlider : public QSlider { public: MyCu

Qt自定义带游标的slider,在滑块正上方显示当前值(类似于进度条,用一个额外的QLabel冒充QSilder的一部分,然后move就行了)

首先自定义QSlider的子类MyCustomSlider,如下所示. mycustomslider.h [cpp] view plain copy #ifndef MYCUSTOMSLIDER_H #define MYCUSTOMSLIDER_H #include <QSlider> #include <QLabel> #include <QMouseEvent> class MyCustomSlider : public QSlider { public: MyCu

七、PyQT5控件——QSlider,QSpinBox

一.Qslider QSlider是一个滑动条,可以设置成水平或垂直放置.最常用的方法允许用户在某一范围内互动该滑块,并将滑块的位置转换成一个整数值(int类型),这种方式可以在某一个范围内平顺的变动,并触发valuechangd信号,产生相应变化.但QSlider能发射的信号并不局限于这一种: valuechanged.滑块位置变动时发射此信号: sliderPressed.当用户按下滑块时就会发射该信号: sliderMoved.当用户拖动滑块时发射信号: sliderReleased.用户

HTML标签解释大全

一.HTML标记 说明:指定了 HTML 文档遵循的文档类型定义(DTD). 标签:a 说明:标明超链接的起始或目的位置. 标签:acronym 说明:标明缩写词. 标签:address 说明:特定信息,如地址.签名.作者.此文档的原创者. 标签:applet 说明:在页面上放置可执行内容. 标签:area 说明:定义一个客户端图像映射中一个超级链接区域的形状.坐标和关联 URL. 标签:attribute 说明:以对象的形式代表了 HTML 元素的标签属性或属性. 标签:b 说明:指定文本应以

【Qt5开发及实例】21、导弹地图演示

导弹地图演示 这个导弹地图是一个中国的地图: 好的废话不多直接上代码(里面有大量注释,不怕你看不懂) main.cpp /** * 书本:[Qt5开发及实例] * 功能:实现地图的浏览器 * 文件:main.cpp * 时间:2015年1月26日18:57:55 * 作者:cutter_point */ #include "mapwidget.h" #include <QApplication> #include <QFont> int main(int arg

qtday01 ubuntu 下手动编写第一个qt程序

//qt 5.2.1 //1t目录下 //1t.cpp /* 第一个qt程序 */ #include <QApplication> #include<QtWidgets/QLabel> #include<QString> #include<QTextCodec> int main(int argc,char** argv){ /*构造一个对象*/ QApplication app(argc,argv); QTextCodec* coder=QTextCode

QMediaplayer详解以及简易音乐播放实现

QMediaplayer可以用于解析音频文件和视频文件,继承自QMediaObject,设计到的对象为QMediaContent.QMediaObject可以提供关于媒体内容的接入,通过URL进行初始化,同时也可以提供可以播放的媒体文件的列表,与QMediaplayer对象息息相关.使用QMediaplayer,除了需要添加必要的头文件之外,还需要在.pro(Qt的工程配置文件)添加QT += multimedia.下面解析有关QMediaplayer的相关知识. Type Informatio

PyQt5 入门

换了VSCODE开发,感觉比sublime好点,可能是由于第三版老弹框烦人吧.VSCODE看着也挺好看的. 学习 PyQt5 中文教程 0. 安装完之后错误 pip 安装了 pyqt5 from PyQt5.QtWidgets import QApplication, QWidget 这句错误:E0611:No name 'QApplication' in module 'PyQt5.QtWidgets' 搜到是要sip,卸载python5重新安装了sip后再试还是错误,但是直接在命令行运行是好

Qt布局管理器综合实例

1.布局管理器的综合实例------模拟向导用户界面(Windows平台) -----练习开发一个向导用户界面 @1:在同一界面上展现不同的向导页面 @2:通过上一步和下一步按钮进行切换 @3:不同页面上的元素组件和这些组件排布都不相同 @4:页面中的组件通过布局管理进行排布 (1)通过布局嵌套进行界面设计 @1:上一步和下一步这两个按钮用水平布局管理器QHBoxLayout来进行管理,不同页面上的显示的内容只有按钮不变,所以讲不同页面的内容用栈式布局管理器QStackedLayout进行管理,