【发布时间】:2010-09-22 13:37:35
【问题描述】:
对于 wxWidgets,我使用以下代码:
HWND main_window = ...
...
wxWindow *w = new wxWindow();
wxWindow *window = w->CreateWindowFromHWND(0, (WXHWND) main_window);
我如何在 Qt 中做同样的事情? HWND 是我想要作为新 QtWidget 的父窗口的窗口句柄。
【问题讨论】:
对于 wxWidgets,我使用以下代码:
HWND main_window = ...
...
wxWindow *w = new wxWindow();
wxWindow *window = w->CreateWindowFromHWND(0, (WXHWND) main_window);
我如何在 Qt 中做同样的事情? HWND 是我想要作为新 QtWidget 的父窗口的窗口句柄。
【问题讨论】:
使用QWidget的create方法
HWND main_window = ...
...
QWidget *w = new QWidget();
w->create((WinId)main_window);
【讨论】:
您是否尝试过 Qt/MFC Migration Framework 中的 QWinWidget 类?
【讨论】:
fromWinId https://doc-snapshots.qt.io/qt6-dev/qwindow.html#fromWinId怎么样
创建由另一个进程或使用 Qt 下面的本机库创建的窗口的本地表示。
【讨论】: