做一个经典的将计算器嵌入到程序中,但是中间遇到了些问题,记录下
首先需要spy++这个工具查看类名,可以看到,类名为CalcFrame
接下来调用Windows的API来获取句柄,如果使用MSVC2017大概率会发生LNK2019等链接错误,只要换成MSVC2015 32bit的编译器就可以解决问题了
WId wid = (WId)FindWindow(L"CalcFrame",NULL);
设置代理窗口
m_window = QWindow::fromWinId(wid);
m_window->setFlags(m_window->flags() | Qt::CustomizeWindowHint | Qt::WindowTitleHint);
QWidget *m_widget;
m_widget = QWidget::createWindowContainer(m_window,this);
setCentralWidget(m_widget);
结果如下