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,