首页 新闻 搜索 专区 学院

因特殊限制,利用QWidget的函数getDC()返回的hdc绘图,只闪一次就被覆盖,有偿求助啊!

0
悬赏园豆:50 [待解决问题]

因条件限制:使用第三方动态库底层绘制地图图像,该库使用windows的GDI调用进行绘制,需要给该库提供一个hdc作为输出结果。
我在paintEvent函数中执行QWidget的getDc()函数可以返回该Widget的hdc,传递给动态库绘图后,界面只闪一下绘制图像就变成空白,请问如何让返回的hdc结果正确在QWidget上显示??
代码如下:
void myWidget::paintEvent(QPaintEvent * event)
{
HDC hdc = this->getDC();

thirdLibrary.outPut(hdc);//注解如下
/*该函数主要调用windows GDI将地图绘制在
传递进去的hdc中,并提供给我调用,可将该函数理解为
void output(HDC hdc)
{
TextOut(hdc,0,0,"地图",2);
...等等类似windows GDI函数
}
*/
this->releaseDC();
}
库将地图绘制到hdc上之后,Qt地图界面只显示一下,一闪就没了,变成空白显示,请问如何解决?

stone2317的主页 stone2317 | 初学一级 | 园豆:149
提问于:2014-06-17 20:31
< >
分享
所有回答(2)
0

paintEvent只是被调用了一次吧? 别的地方调用了paint 把你的覆盖了吧。你试试不断调用paintEvent。 比如用timer

Henry_Wang | 园豆:157 (初学一级) | 2014-06-18 09:57
0

这位同胞,你这个问题解决没有,怎么解决的。

BYSF_XF | 园豆:193 (初学一级) | 2015-01-26 18:16
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册