大家帮忙看一下吧,我的两个按钮怎么显示不出来啊?很简单的一段代码。
#include <QImage>
#include <QWidget>
class QToolButton;
class display : public QWidget
{
public:
display(QWidget *parent = 0);
protected:
void paintEvent(QPaintEvent *event);
private:
QToolButton *zoomInButton;
QToolButton *zoomOutButton;
QImage image;
};
#include "display.h"
#include <QtGui>
#include <QPainter>
display::display(QWidget *parent)
: QWidget(parent)
{
setBackgroundRole(QPalette::Dark);
setAutoFillBackground(true);
setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
setFocusPolicy(Qt::StrongFocus);
zoomInButton = new QToolButton(this);
zoomInButton->setIcon(QIcon(":/images/zoomin.png"));
zoomInButton->adjustSize();
zoomInButton->move(5,5);
zoomOutButton = new QToolButton(this);
zoomOutButton->setIcon(QIcon(":/images/zoomout.png"));
zoomOutButton->adjustSize();
zoomOutButton->move(40,5);
}
void display::paintEvent(QPaintEvent * /* event */)
{
image = QImage(size(),QImage::Format_RGB16);
image.fill(0xffff);
QPainter imagePainter(&image);
imagePainter.initFrom(this);
imagePainter.setPen(QColor(255,0,0));
imagePainter.setRenderHint(QPainter::Antialiasing,true);
imagePainter.drawEllipse(20,20,40,80);
imagePainter.end();
QPainter widgetPainter(this);
widgetPainter.drawImage(0,0,image);
}