• 9704阅读
  • 5回复

难道就真的没人知道如何在paintEvent函数外使用QPainter??? [复制链接]

上一主题 下一主题
离线hdavs
 
只看楼主 正序阅读 楼主  发表于: 2008-05-13
— 本帖被 XChinux 执行加亮操作(2008-05-13) —
如题。我搜了很多资料。都没有人很好的回答这个问题。
我想在paintEvent函数外绘制一些东西(这些东西要求不能在paintEvent中绘制)
好像设置WA_PainterOutPaintEvent属性在windows平台下是没有用的。

QPainter painter;
painter.begin(this);
painter.drawPixmap(...);
painter.end();
也是没有用的。难道在Windows下QT就是不能在paintEvent函数外使用QPainter??那也太差劲了吧
离线wzc81614
只看该作者 5楼 发表于: 2008-05-21
加上this->setAttribute(Qt::QA_PaintOutsidePaintEvent);
离线apache64
只看该作者 4楼 发表于: 2008-05-21
楼上说的很对,
离线ynshisss

只看该作者 3楼 发表于: 2008-05-19
你只能在paintEvent( )中调用外部方法,然后将qPainter以引用或指针的方式传递出去
其它任何方式都没用的
离线cplus

只看该作者 2楼 发表于: 2008-05-14
引用第1楼XChinux于2008-05-13 19:37发表的  :
问题是,在paintEvent之外用只要一动paintEvent又被调用立马会被重画掉,所以没用。


可能是一个理由,不过有时候可能临时绘点东西,并不需要保存。就像MFC里面CDC可以那样干。
离线XChinux

只看该作者 1楼 发表于: 2008-05-13
问题是,在paintEvent之外用只要一动paintEvent又被调用立马会被重画掉,所以没用。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
快速回复
限100 字节
 
上一个 下一个