环境:QT5.5.1+MinGW+windows8.1
此篇主要是讲如何在其他控件上画图
有关画图的其他常用的api都在我上篇里面有记录,主要是供我自己记忆哈哈哈哈。所以东西都是我自己验证可以使用后才截屏上来的,放心使用~
为了方便整个界面的布局,我选择将图案画在控件widget中。
方式一:重写paintEvent()函数
paintEvent()画的图案只能在其所在的类中显示,所以新建一个类,在新类里面画好之后,实例化一个新类的对象,并将其添加到子控件上。这就是整个思路,接下来就贴图显示操作步骤。
1.创建项目。
我选择的基类是mainwindows。
2.添加新的类。
我给新类取的名字是PainterGragh,这个名字自由取,无限制,尽量直观简单。在paintergragh.h中添加了绘图事件的声明,代码如下:
#ifndef PAINTERGRAGH_H
#define PAINTERGRAGH_H
#include <QWidget>
class PainterGragh : public QWidget
{
Q_OBJECT
public:
explicit PainterGragh(QWidget *parent = 0);
void paintEvent(QPaintEvent *);
signals:
public slots:
};
#endif // PAINTERGRAGH_H
另外,此类继承的类要与你添加图案的控件类要一致。详细点说:下图是我要添加图案的控件,它的类是QWidget,新类PainterGragh继承的类是QWidget,二者需一致。