CAD控件:QT开发使用控件入门

时间:2023-03-09 05:18:28
CAD控件:QT开发使用控件入门

1. 环境搭建: 3

1.1、 安装Qt 3

1.2、 安装Microsoft Windows SDK的调试包 6

2. QT中使用MxDraw控件 7

1.3、 引入控件 7

3. 打开DWG文件 11

1.4、 增加打开文件按钮 11

1.5、 在VS中使用QT 13

  1. 环境搭建:

1.1、 安装Qt

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

如下:

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

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

下载后文件如下:

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

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

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

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

1.2、 安装Microsoft Windows SDK的调试包

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

Microsoft Windows SDK下载地址:

http://www.microsoft.com/en-us/download/details.aspx?id=8442,如下:

下击[Download]下载iso包

下载GRMSDK_EN_DVD.iso

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

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

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

  1. QT中使用MxDraw控件

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

1.3、 引入控件

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

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

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

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

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

双击,拖到界面的COM组件,选择MxDrawX52

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

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

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

如下图:

然后构建所有项目 ,前面的连接错误就消除了。

点击运行后如下图:

  1. 打开DWG文件

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

1.4、 增加打开文件按钮

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

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

点击[转到槽]:

增加如下代码:

void MainWindow::on_pushButton_clicked()

{

// 执行控件自定义命令函数,命令的id为2,这个id用户可以自己取任意数,可以理解为是给执行的命令一个编号.

ui->axWidget->dynamicCall("DoCommand(const qint32&)",2);

}

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

在函数中,增加如下代码,打开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");

}

}

1.5、 在VS中使用QT

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

如下:

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

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