首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

画图的有关问题

2012-05-01 
画图的问题请问在一个widget里用this-getDC和在他paintEvent里用QPinter paint(this)paint.paintEngine-

画图的问题
请问在一个widget里用this->getDC和在他paintEvent里用QPinter paint(this);paint.paintEngine->getDC得到的设备上下文句柄有什么不同?
好友在QGraphicsView中用QPinter paint(this);paint.paintEngine->getDC和QPinter paint(this->viewPort());paint.paintEngine->getDC得到的hDC又有什么不同?
还有在mainWindow里,toolBar menu 等跟 centralWidget dockWidget等的画图覆盖先后又有什么不同?

[解决办法]
dc里记录的是此时的画图句柄状态,其实不影响使用的,举了例子:
widget里用构造时的this->getDC,此时dc里其实没什么东西,因为你什么都没画呢,初始化也没完成。
paintEvent的paintEngine->getDC,这个DC里已经有绘制的信息了,比如说背景,默认的颜色啊,默认的画笔等等。
你不能简单的通过dc地址来判断是否一样,因为每次在paintEvent里的dc可能都是不一样的。

热点排行