# -*- coding: UTF-8 -*-
import sys
from PyQt5.QtWidgets import QWidget, QLabel,QCheckBox, QApplication , QPushButton ,QSlider
from PyQt5.QtGui import QColor
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QPixmap
class example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
#标签 QLabel 的用法示例
lbl1 = QLabel("你好 0" , self)
lbl1.move(35, 10)
#复选框 QCheckBox 的用法示例
cb = QCheckBox("Show title", self)
cb.move(95,40)
cb.toggle()
cb.stateChanged.connect(self.changeTitle)
#按钮 QPushButton 的用法示例
bt = QPushButton("按钮" ,self)
bt.setCheckable(True)
bt.move(95,70)
#通过lambda方式来传递额外的参数cb,将clicked信号发送给槽函数changeCheckBox()
bt.clicked.connect(lambda:self.changeCheckBox(cb))
#滑动条 QSlider 的用法示例
sld = QSlider(Qt.Horizontal, self)
sld.setFocusPolicy(Qt.NoFocus)
sld.setGeometry(30, 120, 200, 20) #设置位置和大小
sld.valueChanged[int].connect(self.changeValue)
# 标签 QLabel 显示图片的用法示例
self.label = QLabel(self)
self.label.setPixmap(QPixmap('audio.ico'))
self.label.setGeometry(30,150,50,50)
self.setGeometry(300,300,250,220)
#self.setWindowTitle("Hello !")
self.show()
#复选框的槽函数
def changeTitle(self , state):
if state == Qt.Checked :
self.setWindowTitle('QCheckBox')
else :
self.setWindowTitle("")
#按钮的槽函数
def changeCheckBox(self , cb):
if cb.isChecked() == True:
cb.setChecked(False)
else :
cb.setChecked(True)
#滑动条的槽函数
def changeValue(self, value):
if value == 0:
self.label.setGeometry(50,150,50,50)
elif value > 0 and value <= 30:
self.label.setGeometry(100,150,50,50)
elif value > 30 and value < 80:
self.label.setGeometry(150,150,50,50)
else:
self.label.setGeometry(230,150,50,50)
if __name__ == "__main__":
app = QApplication(sys.argv)
ex = example()
sys.exit(app.exec_())