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开发我们控件已经入门了…

CAD控件:QT开发使用控件入门的更多相关文章

  1. 用C#编写ActiveX控件,开发浏览器控件,注册ActiveX 控件

    用C#编写ActiveX控件,开发浏览器控件,注册ActiveX 控件用C#编写ActiveX控件 开发浏览器控件这是本控件开发完成后的一个简单应用.我们可以利用它以本地文件夹为单位来批量更新服务器的 ...

  2. [转]C#开发ActiveX控件,.NET开发OCX控件案例

    引自:百度   http://hi.baidu.com/yanzuoguang/blog/item/fe11974edf52873aaec3ab42.html 讲下什么是ActiveX控件,到底有什么 ...

  3. C#开发ActiveX控件,.NET开发OCX控件案例 【转】

    http://xiaochen.2003.4.blog.163.com/blog/static/480409672012530227678/ 讲下什么是ActiveX控件,到底有什么作用?在网页中又如 ...

  4. Qt 开发 MS VC 控件终极篇

    Qt 开发 MS VC 控件终极篇 1. 使用 MSVC2015 通过项目向导创建 Qt ActiveQt Server 解决方案 项目配置:以下文件需要修改 1. 项目属性页->项目属性-&g ...

  5. CAD控件,CAD插件使用教程:Android开发使用控件--开发环境的搭建

    Android开发使用控件入门--环境搭建 2014-12-24 09:57     14人阅读     评论(0)     收藏         编辑     删除 CAD控件.CAD三维控件,手机 ...

  6. CAD二次开发控件,dwg控件,网页DWG控件,手机浏览编辑DWG控件

    梦想绘图插件5.2(MxDraw5.2) 是国内最强,最专业的CAD开发插件(控件),不需要AutoCAD就能独立运行. 控件使用VC 2010开发,具有30万行代码规模,最早从2007年第一个版本完 ...

  7. Qt开发Activex笔记(二):Qt调用Qt开发的Activex控件

    若该文为原创文章,转载请注明原文出处本文章博客地址:https://blog.csdn.net/qq21497936/article/details/113789693 长期持续带来更多项目与技术分享 ...

  8. Android开发使用控件入门--环境搭建

    Android开发使用控件入门--环境搭建 软件名称(,梦,,想.CAD  ,控件) 1. 环境搭建: 3 1.1. 安装Eclipse 3 1.2. 下载JDK 3 1.3. 下载Android S ...

  9. paper 139:qt超强绘图控件qwt - 安装及配置

    qwt是一个基于LGPL版权协议的开源项目, 可生成各种统计图.它为具有技术专业背景的程序提供GUI组件和一组实用类,其目标是以基于2D方式的窗体部件来显示数据, 数据源以数值,数组或一组浮点数等方式 ...

随机推荐

  1. Redis缓存数据库安全加固指导(二)

    背景 在众多开源缓存技术中,Redis无疑是目前功能最为强大,应用最多的缓存技术之一,参考2018年国外数据库技术权威网站DB-Engines关于key-value数据库流行度排名,Redis暂列第一 ...

  2. Codeforces Round #337 (Div. 2) 610B Vika and Squares(脑洞)

    B. Vika and Squares time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  3. 逆向碰到3des分析

    1.ios 某个app碰到涉及3des的解密函数. 2.底层调用的库函数. 3.对比CCCrypt的头文件 CCCryptorStatus CCCrypt( CCOperation op, /* kC ...

  4. JLabel作为展现元素时需要注意的事项

    如果没有内容,JLabel默认透明就无法作为点击区域了,所以为了让其可以响应鼠标事件需要设置 setOpaque(true) 这样就可以响应鼠标事件了 (吐槽一下,多年以前在大学做个web地图导航的网 ...

  5. 【OI新闻】2016.10.26 - NOIP初赛泄题再次引爆

    有点劲,开车注意点,小心翻啦~ http://www.noi.cn/noi-news/noi/743-ccfnoip2016 CCF在NOIP2016初赛结束后接到举报:初赛前(22日12时左右),网 ...

  6. 9 Range 实用操作

    9.1 剪切.复制和粘贴来移动数据 sourceRange.Cut [Destination] 如果指定Destination,相当于Ctrl^X(sourceRange) & Ctrl^V( ...

  7. vue 目录结构介绍

    1 初始目录如下: 2 目录结构介绍 bulid:最终帆布的代码存放位置 config:配置目录,包括端口号等 node_modules:npm加载的项目依赖模块 src:z这里是我们要开发的目录,基 ...

  8. 昆石VOS2009 VOS3000无漏洞去后门电脑管理客户端大全

    注意:您的VOS是什么版本的请使用什么版本的管理客户端,否则无法登陆! ** VOS2009的: ** VOS2009-client-v2.1.2.0.exe 点击这里下载: VOS2009-clie ...

  9. 在Chrome与火狐中,输入框input类型为number时,如何去除掉的自带的上下默认箭头

    如何移除input='number'时浏览器自带的上下箭头: CSS样式: /* 去除input[type=number]浏览器默认的icon显示 */ input::-webkit-outer-sp ...

  10. c++ strcmp函数

    用法:加头文件 #include <string.h> 功能:比较字符串s1和s2. 一般形式:strcmp(字符串1,字符串2) 返回值: 当s1<s2时,返回值<0 当s1 ...