【发布时间】:2012-12-12 11:34:49
【问题描述】:
我正在尝试将 Qt4 应用程序转换为 Qt5。 我唯一想不通的是如何获得一个小部件的 HWND。 该程序使用EcWin7 在 win 7+ 的任务栏图标上显示进度,但需要 HWND。将 Q_WS_WIN 更改为 Q_OS_WIN 后,lib 本身似乎编译良好) 在 Windows 上的 Qt4 中,WId 只是 HWND 的 typedef,所以这没问题。 在 Qt5 中,情况不再如此。 我发现了一些 mailing list posting 可以提供线索,但似乎 QPlatformNativeInterface 不再是 Qt5 的公共 API 的一部分。
程序调用 EcWin7.init(this->winId()); 我需要某种方式将此 ID 转换为 HWND id 或其他方式得到这个。
【问题讨论】:
-
嗯,这很奇怪。 QWidget::winId() 应该在 Windows 上返回 HWND,就像在 Qt4 中一样。
标签: c++ windows qt user-interface qt5