pyqt5教程(二)

上图是用pyqt5做的一个显示时间和调整音量大小的演示。

用到的模块,我事先导入了需要的模块

from PyQt5.QtGui import QIcon
from PyQt5.QtCore import QTimer,Qt
from PyQt5.QtWidgets import QWidget,QApplication,QLabel,QLCDNumber,QSlider
import time,sys

QIcon用作制作图标的基类,QTimer用作内部定时器,QWidget,QApplication,QLabel,QLCDNumber,QSlider都是常用控件

首先创建窗体

class NewApp:
    def __init__(self):
        self.w = QWidget()
        self.w.setGeometry(400, 400, 500, 450)
        self.w.setWindowTitle('测试小工具')
        self.w.setWindowIcon(QIcon('res/logo.png'))
        self.w.show()

运行会出现空的框体,就不演示了,现在添加控件

可以创建一个方法,专门添加控件,这里我写了个类方法

    def creat_widget(self):
        self.Lsound=QLabel('音量',self.w)
        self.Lsound.setGeometry(10,50,80,30)
        self.Lcdshow=QLCDNumber(self.w)
        self.Lcdshow.setGeometry(100,50,80,34)
        self.slider=QSlider(Qt.Horizontal,self.w)
        self.slider.setGeometry(250,60,220,20)

以上代码是显示音量控件(用LCD显示音量大小,通过滑块来改变数字),未把时间定时器放入,接下来会单独处理。

    def creat_timer(self):#创建显示时间label控件
        self.Ltime=QLabel(self.w)
        self.Ltime.setGeometry(10,10,350,30)

    def show_time(self):
        self.Ltime.setText("北京时间:{}".format(time.strftime('%Y/%m/%D %H:%M:%S')))

    def runtimer(self):
        self.timer=QTimer()
        self.timer.timeout.connect(self.show_time)
        self.timer.start()

以上代码为显示当前时间的控件设置,runtimer()是定时器设置,运行后会开启定时器,creat_timer是创建时间显示控件,

show_time是显示当前时间节点,如果没有定时器,此处会一直显示当前时间,不会随时改变值

    def widget_config(self):#控件配置
        self.Lcdshow.setDigitCount(3)#显示三位数
        self.Lcdshow.setSegmentStyle(QLCDNumber.Flat)#设置平铺
        self.Lcdshow.display(0)#默认值
        self.slider.valueChanged.connect(self.Lcdshow.display)

以上代码为控件配置,LCD显示位数,以及默认值的设置

完整代码

from PyQt5.QtGui import QIcon
from PyQt5.QtCore import QTimer,Qt
from PyQt5.QtWidgets import QWidget,QApplication,QPushButton,QMessageBox,QLabel,QLCDNumber,QSlider
import os,time,sys

class NewApp:
    def __init__(self):
        self.w = QWidget()
        self.w.setGeometry(400, 400, 500, 450)
        self.w.setWindowTitle('测试小工具')
        self.w.setWindowIcon(QIcon('res/logo.png'))
        self.creat_widget()
        self.widget_config()
        self.creat_timer()
        self.runtimer()
        self.w.show()

    def creat_widget(self):
        self.Lsound=QLabel('音量',self.w)
        self.Lsound.setGeometry(10,50,80,30)
        self.Lcdshow=QLCDNumber(self.w)
        self.Lcdshow.setGeometry(100,50,80,34)
        self.slider=QSlider(Qt.Horizontal,self.w)
        self.slider.setGeometry(250,60,220,20)

    def widget_config(self):#控件配置
        self.Lcdshow.setDigitCount(3)#显示三位数
        self.Lcdshow.setSegmentStyle(QLCDNumber.Flat)#设置平铺
        self.Lcdshow.display(0)#默认值
        self.slider.valueChanged.connect(self.Lcdshow.display)


    def creat_timer(self):#创建显示时间label控件
        self.Ltime=QLabel(self.w)
        self.Ltime.setGeometry(10,10,350,30)

    def show_time(self):
        self.Ltime.setText("北京时间:{}".format(time.strftime('%Y/%m/%D %H:%M:%S')))

    def runtimer(self):
        self.timer=QTimer()
        self.timer.timeout.connect(self.show_time)
        self.timer.start()

app=QApplication(sys.argv)
ui=NewApp()
sys.exit(app.exec_())

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值