一:前言
说起自定义,是令人激动人心的,因为我们可以根据自己的需要定制任意自己需要的控件外观和控件的功能。
二:自定义控件的步骤
1,首先需要继承自己已有的原控件;
2,重写控件的绘图函数,绘制自己需要的内容:void paintEvent(QPaintEvent*event);
3,既然是继承原控件,所以就要先绘制原控件,调用父控件绘制原控件;
4,继续在void paintEvent(QPaintEvent *event)中绘制自己需要的内容;
5,定义外部调用的接口函数,用于操作绘制的内容;
6,添加原有的控件,提升原有的控件为继承后的控件,接下来的所有都可以和之前的所有操作一样啦。
三:QProgress自定义源代码
1,myProgress的头文件
#ifndef MYPROGRESS_H
#define MYPROGRESS_H
#include <QWidget>
#include <QProgressBar>
#include <QPaintEvent>
#include <QPainter>
#include <QPen>
#include <QRect>
#include <QTimer>
#include <QDebug>
#include <QString>
class myProgress : public QProgressBar
{
Q_OBJECT
public:
explicit myProgress(QWidget *parent = 0);