窗口类声明mywidget.h
#ifndef MYWIDGET_H
#define MYWIDGET_H
#include <QWidget>
#include <QPushButton>
class MyWidget : public QWidget
{
Q_OBJECT
public:
MyWidget(QWidget *parent = 0);
~MyWidget();
virtual void paintEvent(QPaintEvent *);
// mouse press event
virtual void mousePressEvent(QMouseEvent *ev);
// 按钮
QPushButton* _button;
QPoint _ptClick;
};
#endif // MYWIDGET_H
窗口类的函数实现,两个虚函数
#include "mywidget.h"
#include <QPainter>
#include <QMouseEvent>
MyWidget::MyWidget(QWidget *parent)
: QWidget(parent)
{
_button = new QPushButton("hello", this);
}
MyWidget::~MyWidget()
{
}
void MyWidget::paintEvent(QPaintEvent *)
{
// QPainter 绘制类
QPainter painter(this);
/* painter.setPen(QColor(255,0,0));
painter.setBrush(QBrush(QColor(255,255,0)));
painter.drawLine(QPoint(0,0),QPoint(100,