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

怎么使用QT的winId函数返回的窗口句柄实现绘图之类的操作

2013-07-01 
如何使用QT的winId函数返回的窗口句柄实现绘图之类的操作winId() 函数能够返回 当前Widget的HWND句柄,我想

如何使用QT的winId函数返回的窗口句柄实现绘图之类的操作
winId() 函数能够返回 当前Widget的HWND句柄,我想通过这个窗口句柄实现额外的操作,比如绘制图像或者将句柄传递给第三方功能库操作。
下面的程序是我的Demo程序,我想在QLable上通过HWND句柄绘制一条线,但结果是,线看不到,这是为什么呀?


#include <Windows.h>
#include <QLabel>

class MyLabel : public QLabel
{
public:
MyLabel(){}
~MyLabel(){;}

void paintEvent ( QPaintEvent *e )
{
QLabel::paintEvent(e);

HWND hWnd = (HWND)this->winId();
HDC hDc = GetDC(hWnd);
if (hDc)
{
MoveToEx(hDc, 100, 100, 0);
LineTo(hDc, 200, 200);
}
}

};

int main(int argc, char *argv[])
{
QApplication app(argc, argv);

MyLabel *pLabel = new MyLabel;
pLabel->resize(600, 480);
pLabel->setText("12345");
pLabel->show();

return app.exec();
}

[解决办法]
你可以绘到图上,在贴在QLabel上
[解决办法]
确实画不出来 , 坐等大神解释

热点排行