PyQt5教程-22-自定义控件

PyQt5教程讲解如何创建自定义控件,以模拟烧录软件中的烧录进度显示。通过QSlider和自定义控件结合,动态展示刻录介质的容量使用情况。自定义控件基于QWidget,根据窗口大小调整自身尺寸,并通过颜色变化(黄色到红色)表示烧录进度。当滑块移动时,控件实时更新绘制内容,提供直观的进度反馈。
摘要由CSDN通过智能技术生成

PyQt5拥有丰富的控件。然而,没有哪个工具可以提供程序员在他们的应用程序中可能需要的所有部件。工具包通常只提供诸如按钮、文本组件、或滑块等最常见的控件。如果有需要一种更专业的控件,我们必须自己去创建它。

自定义控件是通过使用该工具包提供的绘图工具创建的。有两种基本的可行性:程序员可以修改或增强现有控件,或者他可以从头开始创建一个全新的自定义控件。

Burning widget - 烧录控件

这是一个模拟烧录软件中的控件实例,我们可以在Nero,K3B或其他CD/ DVD刻录软件中参考看看。


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

"""
PyQt5 教程

在这个例子中,我们创建一个自定义控件。

作者:我的世界你曾经来过
博客:http://blog.csdn.net/weiaitaowang
最后编辑:2016年8月7日
"""

import sys
from PyQt5.QtWidgets import (QApplication, QWidget, QSlider, 
QHBoxLayout, QVBoxLayout)
from PyQt5.QtCore import Qt, QObject, pyqtSignal
from PyQt5.QtGui import QPainter, QFont, QColor, QPen

class Communicate(QObject):

    updateBW = pyqtSignal(int)

class BurningWidget(QWidget):

    def __init__(self):
        super().__init__()

        self.initUI()

    def initUI(self):

        self.setMinimumSize(1, 30)
        self.value = 75
        self.num = [75, 150, 
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值