qt如何把已绘制的图删除

wangshaner1 2011-09-10 11:35:35
我想实现一个动态图片显示。先显示了一个图片,但是后来要在原来绘图的地方重新绘制图片,应该如何做?
我画图的代码如下:
void Dialog::paintEvent(QPaintEvent *)
{
QPainter painter(this);

QPen pen; //画笔
pen.setColor(QColor(255,0,0));
QBrush brush(QColor(0,255,0,125)); //画刷

painter.setPen(pen); //添加画笔
painter.setBrush(brush); //添加画刷
painter.drawRect(10,310,175,235); //绘制矩形
}
谢谢大家了!
...全文
4041 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
dbzhang800 2011-09-10
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wangshaner1 的回复:]

非常感谢各位!但是现在有个问题,我在其他函数中调用this->paintEvent(NULL);出现以下东西:
QPainter::begin: Paint device returned engine == 0, type: 1
QPainter::setPen: Painter not active
QPainter::setBrush: Painter not active
QPa……
[/Quote]
简单地说:你没有直接调用paintEvent等事件处理函数的权利,如果真的需要,请考虑 update 和 repaint 函数

题外:多看manual
wangshaner1 2011-09-10
  • 打赏
  • 举报
回复
非常感谢各位!但是现在有个问题,我在其他函数中调用this->paintEvent(NULL);出现以下东西:
QPainter::begin: Paint device returned engine == 0, type: 1
QPainter::setPen: Painter not active
QPainter::setBrush: Painter not active
QPainter::drawRects: Painter not active
QPainter::setBrush: Painter not active
QPainter::drawRects: Painter not active
到底是什么原因呢?
念茜 2011-09-10
  • 打赏
  • 举报
回复 1
不用人为删除 每次都paint自己刷新滴画的东西
xiao452159568 2011-09-10
  • 打赏
  • 举报
回复 1
我想你已经陷入了一个误区,其实是不用删的,你没刷新一次就会把以前的全部擦出掉,然后重新画一遍!
dbzhang800 2011-09-10
  • 打赏
  • 举报
回复 1
直接画,其他不要管

16,816

社区成员

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

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