• 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()

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

  • 相关阅读:
    Sql中CHARINDEX用法
    当没有用 EXISTS 引入子查询时,在选择列表中只能指定一个表达式
    Windows Server 2012 R2安装.NET4.7.2服务问题集合
    详细实例全面解析SQL存储过程
    MySQL 存储过程
    华为远程登陆配置
    数据平台环境部署(mysql、docker、nginx)
    ISIS的路由渗透
    华为模拟器的安装失败(出现40、41、42代码错误,Oracle VM VirtualBox安装出现严重错误以及一直处于开机状态)
    华为模拟器配置动态ospf--虚拟链路、rip重分布、static重分布
  • 原文地址:https://www.cnblogs.com/moonlightpoet/p/5363018.html
Copyright © 2020-2023  润新知