QWidget与HWND的互相转换

本文详细介绍了在使用QT进行Windows应用程序开发时,如何实现QT与Win32API之间的句柄转换,包括HWND与QWidget的相互转换,以及QPixmap与HBITMAP、HICON之间的互转方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在编写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可以轻松互转,这里不多说了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值