请问在一个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可能都是不一样的。