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. 详细介绍Linux telnet命令的使用

    对Linux系统进行远程登录,Linux telnet命令是必须得掌握的一个知识,虽然telnet并不是唯一的远程登录的方案,但是不可否认它是最常用的,所以很有必要详细了解Linux telnet命令 ...

  2. 改动ScrollView的滑动速度和解决ScrollView与ViewPager的冲突

    话不多说,非常easy,能够从凝视中知道做法,直接上代码: 1.改动ScrollView的滑动速度: public class MyHorizontalScrollView extends Horiz ...

  3. java后台修改ZK页面的title

    Clients.evalJavaScript("document.title='"+basicDBObject.getString("systemName")+ ...

  4. go7---map

    package main /* map 类似其它语言中的哈希表或者字典,以key-value形式存储数据 Key必须是支持==或!=比较运算的类型,不可以是函数.map或slice, 这3中类型都不能 ...

  5. Bing必应地图中国API - 在地图上画圆

    Bing必应地图中国API - 在地图上画圆 2011-05-24 14:49:37|  分类: Bing&Google|字号 订阅     <变形金刚2>上映4日国内票房过亿,基 ...

  6. C# winfrom TCP 服务端和客户端(链接)

    1.C#Winform TCP 之服务端: 可以参考下面链接,比较好.第二个链接可以看看,提供了一个思路. http://www.cnblogs.com/guolebin7/archive/2013/ ...

  7. android 使用AlarmManager定时启动service

    private static AlarmManager am; private static PendingIntent pendingIntent; /** * 使用 AlarmManager 来 ...

  8. Python Matplotlib模块--pylab

    #-*- coding: utf-8 -*- ''' subplot(m,n,p):其中,m表示是图排成m行,n表示图排成n列,也就是整个figure中有n个图是排成一行的,一共m行,如果m=2就是表 ...

  9. end()与andSelf()

    end() 回到最近的一个"破坏性"操作之前.即,将匹配的元素列表变为前一次的状态. 如 果之前没有破坏性操作,则返回一个空集.所谓的"破坏性"就是指任何改变所 ...

  10. 关于file文件操作的头文件 【LINUX】 (转载)

    转自:http://blog.csdn.net/figo77ll/article/details/3156052 Linux下如果要对文件进行读取访问,需要包含至少以下两个头文件: #inlcude ...