LOGO
帮助文档
旧版文档
环境搭建qt中使用mxdraw控件打开dwg文件
环境搭建

安装Qt


官网地址:http://qt-project.org/,进入官网,点击 Download 到下载页面。如下:


qt1.png


再点击 Download ,不使用它的在线安装,太慢,再点击 View All Downloads  可以看到离下载包,如下:我这里选择VC2010开发包。


qt2.png


在下面的 Other downloads ,下载vs开发插件,如下:


qt3.png


下载后文件如下:


qt4.png


点击“ qt-opensource-windows-x86-msvc2010_opengl-5.4.0.exe ”安装如下:

默认我安装在“ C:\Qt\Qt5.4.0 ”目录。


qt5.png


选择组件页面,把所有的安装都选上,再点击[ 下一步 ],直到安装完成:


qt6.png


点击“ qt-vs-addin-1.2.4-opensource.exe ”,在Visual Studio中安装QT开发插件,按照安装提示安装,安装完后,VS新建项目就多个QT选项,如下:


qt7.png


安装Microsoft Windows SDK的调试包


默认下情况下,QtCreator在Windows环境下,是不能单步调试程序,会提示“调试器未设置”,需要安装Microsoft Windows SDK的调试包。

Microsoft Windows SDK下载地址:http://www.microsoft.com/en-us/download/details.aspx?id=8442,如下:


qt8.png


点击[ Download ]下载iso包


qt9.png


下载GRMSDK_EN_DVD.iso

打开ISO安装包,找了目录 Setup\WinSDKDebuggingTools 中的 dbg_x86.msi 文件安装。一般选择默认安装。如果是64位系统,同时安装一下 Setup\WinSDKDebuggingTools_amd64\dbg_amd64.mis

打开[Qt Creator] ->[工具]->[选项] ->[构建和运行]::构建套件(Kit)-> [手动设置]:桌面 -> [调试器]:自动检测,这样就可以检测到安装的调试器了。


qt10.png


然后,重启Qt Creator,就可以调试工程了。

qt中使用mxdraw控件

详细介绍如何把控件放到QT中,并运行。


引入梦想CAD控件


运行Qt Creator,点击[ 文件  ]=>[ 新建文件或项目..  ],出来新建项目窗口,如下:


qt11.png


选择”Qt Widgets Application” 新建一个桌面项目:


qt12.png


新建项目完成,点击”mainwindow.ui”,进入界面编辑,如下图:


qt13.png


在界面上,插入COM组件,如下图:


qt14.png


运行控件安装下的RegMxDrawX.bat注册CAD控件,只有注册了CAD控件,在下面的界面才能看到MxDraw52,如下图:


qt15.png


双击,拖到界面的COM组件,选择MxDrawX52,如下图:


qt16.png


现在需要编译运行,出现如下连接错误提示,是因为工程中,没有加入Qt Axcontainer,错误提示如下:


qt17.png


修改工程属性文件:TestQtMxDraw.pro,加入QT += axcontainer,如下:


qt18.png


保存TestQtMxDraw.pro文件,然后运行[ 构建  ]=>[ 执行qmake  ]编译TestQtMxDraw.pro文件。如下图:


qt19.png


然后构建所有项目 ,前面的连接错误就消除了。点击运行后如下图:


qt20.png

打开dwg文件

演示如何在QT调用CAD控件打开函数,打开DWG文件。


增加打开文件按钮


在界面上放一个按钮,并生成按钮事件:


qt21.png


点按钮上点击右键,选择[ 转到槽  ],增加按钮点击事件:


qt22.png


点击[ 转到槽  ]:


qt23.png


增加如下代码:


void MainWindow::on_pushButton_clicked()
{
    // 执行控件自定义命令函数,命令的id为2,这个id用户可以自己取任意数,可以理解为是给执行的命令一个编号.
    ui->axWidget->dynamicCall("DoCommand(const qint32&)",2);
}


给CAD控件增加命令显示事件,如下图:


qt24.png


在函数中,增加如下代码,打开H盘的1.dwg文件:


void MainWindow::on_axWidget_ImplementCommandEvent(int iCommandId)
{
    if(iCommandId == 2)
    {
        // 调用控件打开函数,打开H:盘的1.dwg文件。
        ui->axWidget->dynamicCall("OpenDwgFile(const QString&)","H:\\1.dwg");
}
}


在VS中使用QT


运行VS,点[ QT5  ]=>[ Open Qt Project File(.pro)...  ]文件,把刚才我们用Qt Creator引入的到VS中。如下:


qt25.png


qt26.png


导入后,就可以直接编译运行,是不是很简单。


到这里,恭喜你,使用QT开发我们CAD控件已经入门了…


qt27.png