4 PyQt5 (QLabel QLCDNumber QProgressBar )

1 QLabel

QLabel也继承自QFrame

#!/usr/bin/env python
# -*- coding:utf-8 -*-
from PyQt5.QtWidgets import *
from PyQt5.QtCore import  Qt
import sys,random

class DemoQLCDNumber(QWidget):
    def __init__(self):
        super(DemoQLCDNumber, self).__init__()
        self.setWindowTitle("QLCDNumber Demo")
        self.resize(400,300)
        self.mainlayout = QVBoxLayout(self)
        #label
        self.num_label = QLabel()
        self.num_label.setNum(10)
        self.num_label.setAlignment(Qt.AlignCenter) #文字居中显示
        self.num_label.setStyleSheet('''
            color:red;
            font-size:100px ;  
            ''')

        #添加到布局
        self.mainlayout.addWidget(self.num_label)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    test = DemoQLCDNumber()
    test.show()
    sys.exit(app.exec_())

在这里插入图片描述

2 QLCDNumber

QLCDNumber继承自QFrame
在这里插入图片描述

#!/usr/bin/env python
# -*- coding:utf-8 -*-
from PyQt5.QtWidgets import *
from PyQt5.QtCore import  Qt
import sys,random

class DemoQLCDNumber(QWidget):
    def __init__(self):
        super(DemoQLCDNumber, self).__init__()
        self.setWindowTitle("QLCDNumber Demo")
        self.resize(400,300)
        self.mainlayout = QVBoxLayout(self)
        #LCD1
        self.qlcd01=  QLCDNumber( 1, self) #第一个参数显示数字位数
        '''
        QLCDNumber.Hex  十六进制
        QLCDNumber.Dec  十进制
        QLCDNumber.Oct  八进制
        QLCDNumber.Bin  二进制
        '''
        self.qlcd01.setMode(QLCDNumber.Dec ) #十进制显示
        # void  display(const QString &s)
        # void  display(int num)
        # void  display(double num)
        self.qlcd01.display(6)

        #LCD2
        self.qlcd02 = QLCDNumber(self)
        self.qlcd02.setDigitCount(2) #数字位数设置
        self.qlcd02.display(99)
        #样式和设置QFrame差不多
        self.qlcd02.setStyleSheet('''\
        QLCDNumber{
            color: green ;
            background-color: red;
        }
        '''
        )
        #添加到布局
        self.mainlayout.addWidget(self.qlcd01)
        self.mainlayout.addWidget(self.qlcd02)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    test = DemoQLCDNumber()
    test.show()
    sys.exit(app.exec_())

显示如下:
在这里插入图片描述

3 QProgressBar

在这里插入图片描述
在这里插入图片描述

#!/usr/bin/env python
# -*- coding:utf-8 -*-
from PyQt5.QtWidgets import *
from PyQt5.QtCore import  Qt
import sys,random

class DemoQProgressBar(QWidget):
    def __init__(self):
        super(DemoQProgressBar, self).__init__()
        self.setWindowTitle("QProgressBar")
        self.resize(400,300)
        self.mainlayout = QVBoxLayout(self)
        #进度条1 正常普通进度条
        self.progressbar01 = QProgressBar(self,minimum=0, maximum=100, objectName="progressbar01")
        self.progressbar01.setMinimum(0)
        self.progressbar01.setMaximum(100)  #设置最大值 最小值
        self.progressbar01.setValue(random.randint(0,100))  #设置进度值
        self.progressbar01.setAlignment(Qt.AlignCenter)  #进度条文字居中显示
        self.progressbar01.setStyleSheet('''\
        #progressbar01::chunk { background-color: red;} \
        ''')
        #进度条2 常规方形繁忙状态
        self.progressbar02 = QProgressBar(self, minimum=0, maximum=0, objectName="progressbar02")
        self.progressbar02.setStyleSheet('''\
        #progressbar02::chunk { background-color: blue;} \
        ''')
        # 方形格子繁忙状态
        self.progressbar03 = QProgressBar(self, minimum=0, maximum=0, objectName="progressbar03")
        self.progressbar03.setStyleSheet('''\
        #progressbar03 {
            border: 2px solid #2196F3;/*边框以及边框颜色*/
            border-radius: 5px;
            background-color: #E0E0E0;
        }
        #progressbar03::chunk {
            background-color: #2196F3;
            width: 10px; /*区块宽度*/
            margin: 0.5px;
        }
        ''')
        #控制进度按钮
        self.btn = QPushButton("进度加1")
        self.btn.clicked.connect(self.on_btn_clicked)

        #添加到布局
        self.mainlayout.addWidget(self.progressbar01)
        self.mainlayout.addSpacing(40)
        self.mainlayout.addWidget(self.progressbar02)
        self.mainlayout.addSpacing(40)
        self.mainlayout.addWidget(self.progressbar03)
        self.mainlayout.addSpacing(10)
        self.mainlayout.addWidget(self.btn)
        self.mainlayout.addStretch()

    def on_btn_clicked(self):
        num = self.progressbar01.value()
        if num==100: num= -1
        self.progressbar01.setValue(num+1)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    test = DemoQProgressBar()
    test.show()
    sys.exit(app.exec_())

效果如下:
在这里插入图片描述

4 水平线 垂直线(QFrame设置样式实现效果)

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值