在编写Windows的应用程序时,我们有时不可避免地要与Windows平台固有的Win32 API打交道,但是Win32 API里面常常用到的HWND等诸多句柄QT并没有。QT作为一款优秀的跨平台GUI库,不可能未作考虑,那么需要互相转换的时候该如何做呢?


HWND转QWidget

?

1
2
3
QWidget *myWidget;
HWND hwnd;
myWidget=QWidget::find(hwnd);


QWidget转HWND

?

1
2
3
QWidget *myWidget;
HWND hwnd;
hwnd=(HWND)myWidget->winId();

QPixmap与HBITMAP、HICON互转

使用QPixmap::toWinHICON();QPixmap::toWinHBITMAP();
 QPixmap::fromWinHICON();QPixmap::fromWinHBITMAP();函数用法一目了然

QPixmap与QIcon、QImage可以轻松互转,这里不多说了