error: invalid conversion from ‘QPlatformPixmap*’ to ‘HDC’ {aka ‘unsigned int’} [-fpermissive]
时间: 2024-03-01 12:56:15 浏览: 162
无法从 int? 转换为 int 运行时出现错误
这个错误是因为你试图将一个指向 `QPlatformPixmap` 对象的指针转换为一个 `HDC` 句柄,但是这两种类型是不兼容的。`QPlatformPixmap` 是 Qt 平台相关的一个 pixmap 类型,而 `HDC` 是 Windows 平台相关的一个设备上下文句柄。
如果你需要将 `QPlatformPixmap` 转换为 `HDC`,你需要先获取到 `QPlatformPixmap` 对应的 `HDC` 句柄。可以使用 `QPlatformPixmap` 对象的 `handle()` 方法来获取 `HDC` 句柄,例如:
```c++
QPlatformPixmap *pixmap = ...; // 获取到 QPlatformPixmap 对象的指针
HDC hdc = static_cast<HDC>(pixmap->handle());
```
这样就可以将 `QPlatformPixmap` 转换为 `HDC` 了。注意要使用 `static_cast` 进行类型转换。
阅读全文