QPainter不能显示图形

开场戏 2017-07-15 08:37:10
本人Qt初学者,今天按着教程练习QPainter类,但是发现并不能显示图形代码如下:

myPainter.h

#pragma once

#include <QtWidgets/QWidget>
#include "ui_myPainter.h"
#include <qpainter.h>
#include <qfont.h>
#include <qrect.h>
#include <QPen>
#include <qbrush.h>

class myPainter : public QWidget
{
Q_OBJECT

public:
myPainter(QWidget *parent = Q_NULLPTR);

private:
Ui::myPainterClass ui;
protected:
void paintEvent(QPainter*);
QPainter *painter;
};

myPainter.cpp

#include "myPainter.h"

myPainter::myPainter(QWidget *parent)
: QWidget(parent)
{
//ui.setupUi(this);
setGeometry(100, 100, 200, 200);
}


void myPainter::paintEvent(QPainter*event)
{
//Q_UNUSED(event);
painter = new QPainter;
painter->begin(this);

painter->setPen(QPen(Qt::blue, 4, Qt::DashLine));
painter->setBrush(QBrush(Qt::red, Qt::SolidPattern));
painter->drawRect(20, 20, 160, 160);

painter->end();
}



在Qt Creato 和VS中都测试了,都不能显示,求大神帮帮忙,已经折磨死我了!
...全文
864 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
开场戏 2017-07-16
  • 打赏
  • 举报
回复
引用 2 楼 jklinux 的回复:
看半天才发现函数错了 函数: void paintEvent(QPainter*); 参数你写成QPainter了,都不是虚函数原形了。 参数应为QPainterEvent *
谢谢啦!我也是看错了!
jklinux 2017-07-15
  • 打赏
  • 举报
回复
看半天才发现函数错了 函数: void paintEvent(QPainter*); 参数你写成QPainter了,都不是虚函数原形了。 参数应为QPainterEvent *
  • 打赏
  • 举报
回复
为什么不直接用painteven函数的参数画图?

16,215

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧