【问题标题】:How to create a QWidget with a HWND as parent?如何创建一个以 HWND 为父的 QWidget?
【发布时间】: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 的父窗口的窗口句柄。

【问题讨论】:

    标签: c++ windows qt wxwidgets


    【解决方案1】:

    使用QWidget的create方法

    HWND main_window = ...
    ...
    QWidget *w = new QWidget();
    w->create((WinId)main_window);
    

    【讨论】:

    • QWidget::create 现在受到保护
    【解决方案2】:

    您是否尝试过 Qt/MFC Migration Framework 中的 QWinWidget 类?

    【讨论】:

      【解决方案3】:

      fromWinId https://doc-snapshots.qt.io/qt6-dev/qwindow.html#fromWinId怎么样

      创建由另一个进程或使用 Qt 下面的本机库创建的窗口的本地表示。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-14
        • 1970-01-01
        • 2012-03-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多