Qt自定义控件之进度条(代码实现)
例子
宝马车的图标大家都很熟悉了。现在我们做一个这样的例子,旋转的宝马图标。我忘了这个例子是是在哪里下载的了,不过非常感谢那位作者。我在其这个例子的基础上扩展了一些控件。首先学这个例子,你得有Qt基础,会自己创建工程编译工程,其次要懂Qt最基本的2D绘图。
一、创建工程mybmw(我的别摸我^-^)
创建一个类控件继承与QWidget。我的开发环境是ubuntu + Qt4.8.1 + Qt Creator
mybmw.h
#ifndef MYBMW_H
#define MYBMW_H
//内部圆半径比例因子
#define RADIUS_FACTOR 0.8
//外部圆开始和停止颜色
#define OUTER_CIRCLE_START_COLOR QColor(65,65,65)
#define OUTER_CIRCLE_END_COLOR QColor(89,89,89)
//内部圆的蓝色
#define BLUE_CIRCLE_START_COLOR QColor(0,133,203)
#define BLUE_CIRCLE_END_COLOR QColor(0,118,177)
//内部圆的白色
#define WHITE_CIRCLE_START_COLOR QColor(255,255,255)
#define WHITE_CIRCLE_END_COLOR QColor(233,233,233)
#include <QWidget>
#include <QtGui>
class myBMW : public QWidget
{
Q_OBJECT
public:
explicit myBMW(QWidget *parent = 0);
protected:
void paintEvent(QPaintEvent *);