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、 安装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,就可以调试工程了;
- 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文件
如下图:
然后构建所有项目 ,前面的连接错误就消除了。
点击运行后如下图:
- 打开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开发使用控件入门的更多相关文章
- 用C#编写ActiveX控件,开发浏览器控件,注册ActiveX 控件
用C#编写ActiveX控件,开发浏览器控件,注册ActiveX 控件用C#编写ActiveX控件 开发浏览器控件这是本控件开发完成后的一个简单应用.我们可以利用它以本地文件夹为单位来批量更新服务器的 ...
- [转]C#开发ActiveX控件,.NET开发OCX控件案例
引自:百度 http://hi.baidu.com/yanzuoguang/blog/item/fe11974edf52873aaec3ab42.html 讲下什么是ActiveX控件,到底有什么 ...
- C#开发ActiveX控件,.NET开发OCX控件案例 【转】
http://xiaochen.2003.4.blog.163.com/blog/static/480409672012530227678/ 讲下什么是ActiveX控件,到底有什么作用?在网页中又如 ...
- Qt 开发 MS VC 控件终极篇
Qt 开发 MS VC 控件终极篇 1. 使用 MSVC2015 通过项目向导创建 Qt ActiveQt Server 解决方案 项目配置:以下文件需要修改 1. 项目属性页->项目属性-&g ...
- CAD控件,CAD插件使用教程:Android开发使用控件--开发环境的搭建
Android开发使用控件入门--环境搭建 2014-12-24 09:57 14人阅读 评论(0) 收藏 编辑 删除 CAD控件.CAD三维控件,手机 ...
- CAD二次开发控件,dwg控件,网页DWG控件,手机浏览编辑DWG控件
梦想绘图插件5.2(MxDraw5.2) 是国内最强,最专业的CAD开发插件(控件),不需要AutoCAD就能独立运行. 控件使用VC 2010开发,具有30万行代码规模,最早从2007年第一个版本完 ...
- Qt开发Activex笔记(二):Qt调用Qt开发的Activex控件
若该文为原创文章,转载请注明原文出处本文章博客地址:https://blog.csdn.net/qq21497936/article/details/113789693 长期持续带来更多项目与技术分享 ...
- Android开发使用控件入门--环境搭建
Android开发使用控件入门--环境搭建 软件名称(,梦,,想.CAD ,控件) 1. 环境搭建: 3 1.1. 安装Eclipse 3 1.2. 下载JDK 3 1.3. 下载Android S ...
- paper 139:qt超强绘图控件qwt - 安装及配置
qwt是一个基于LGPL版权协议的开源项目, 可生成各种统计图.它为具有技术专业背景的程序提供GUI组件和一组实用类,其目标是以基于2D方式的窗体部件来显示数据, 数据源以数值,数组或一组浮点数等方式 ...
随机推荐
- android XXXActivity和getApplicationContext()差别
从接触android起,到处都能看到context(上下文)的身影,查看源代码之后你会发现,它仅仅是个抽象类,详细实现都在ContextWrapper实现. 当你去查看android的源代码时,你会发 ...
- 【bzoj4245】[ONTAK2015]OR-XOR
利用前缀和选m个区间等价于选m个数 从最高位开始找,如果这一位至少有m个0,则可以为0,该位为1的后面就不可以选了. 还要注意,最后一个数如果该位为1,那么这一位必须为1,然后要从62开始枚举,而不是 ...
- MySQL InnoDB 快速导入数据
今天把需要分析的数据导入到数据库中. 数据将近7000万条,在txt文件中存放,共5.75G.采用Load data infile 导入,最后花了18个小时导入.主要做了以下修改: 1. MySQL优 ...
- 每个sql结果返回值的字节大小的峰值统计
#5KB/per结合数据库配置mylimit = 50
- python3 使用http.server模块 搭建一个简易的http服务器
from http.server import HTTPServer, BaseHTTPRequestHandler import json data = {'result': 'this is a ...
- HDU 5762Teacher Bo
Teacher Bo Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Tota ...
- Android默认系统声音/大小修改及配置【转】
本文转载自:http://blog.csdn.net/a8316124/article/details/60574859 在做定制需求的时候,需要修改系统通知的声音,将其禁用掉,避免第三方应用发送通知 ...
- Linux 系统内核空间与用户空间通信的实现与分析
本文转载自:https://www.ibm.com/developerworks/cn/linux/l-netlink/index.html 多数的 Linux 内核态程序都需要和用户空间的进程交换数 ...
- OC学习篇之---类的初始化方法和点语法的使用
昨天介绍了OC中类的定义和使用:http://blog.csdn.net/jiangwei0910410003/article/details/41657603,今天我们来继续学习类的初始化方法和点语 ...
- 21 WPF数据视图
视图对象 当你绑定集合到ItemsControl,在幕后数据视图被安静地创造.视图位于数据源和绑定控件之间.数据视图是通往数据源的一个窗口.它跟踪当前项目,它支持诸如排序,过滤,和分组特征.这些特征独 ...