前面几节已经成功的将Qt在vc中使用,但都是各自独立的,其实我们将Qt的父窗口设置为VC的窗体。
代码如下:
m_pEdbParamaUi = new EdbParamaUi();
m_pEdbParamaUi->setFixedSize(100, 200);
::SetParent((HWND)m_pEdbParamaUi->winId(), m_hWnd);
m_pEdbParamaUi->move(0, 0);
m_pEdbParamaUi->show();
并修改EdbParamaUi类的构造函数添加this->setWindowFlags(Qt::FramelessWindowHint);:
EdbParamaUi::EdbParamaUi(QWidget *parent) :QWidget(parent)
{
this->setStyleSheet("background-color:red");
this->setWindowTitle(QStringLiteral("这是Qt窗体"));
this->setWindowFlags(Qt::FramelessWindowHint);
}
Qt在VC中使用的方法还有一种就是ActiveX控件, 使用VS开发Qt ActiveX控件(需要安装插件),QtCreator没有向导,这种方式是比较好的方式,Qt文档对如何开发,使用ActiveX已经有比较详细的说明了, 有需求的同学可以去看看。