C#/VC调用QT控件
2017-02-15 21:28
651 查看
通过QT Creator将QT控件编译成C++库,即dll,C#和VC通过dll调用QT控件。
需要在QT Creator中使用qtwinmigrate,将qt控件封装为一个函数接口,通过Pinvoke与C#和VC交互。
注意:函数接口中不能出现以下语句
qtwinmigrate在生成dll的过程中会预先定义一个QApplication 对象,而qt只允许一个QApplication 对象存在。如果这样做,运行dll时会报错:
应该这样做:
在dll中定义一个全局的QApplication对象指针,指向全局的qApp(在qapplication.h源码中定义),通过这个对象指针访问QApplication对象,如进行以下操作:
调用qt控件dll时,需要附带qt的dll
需要在QT Creator中使用qtwinmigrate,将qt控件封装为一个函数接口,通过Pinvoke与C#和VC交互。
注意:函数接口中不能出现以下语句
QApplication a(argc, argv);
qtwinmigrate在生成dll的过程中会预先定义一个QApplication 对象,而qt只允许一个QApplication 对象存在。如果这样做,运行dll时会报错:
ASSERT failure in QCoreApplication: "there should be only one application object", file kernel\qcoreapplication.cpp
应该这样做:
QApplication* qapp_instance = qApp;
在dll中定义一个全局的QApplication对象指针,指向全局的qApp(在qapplication.h源码中定义),通过这个对象指针访问QApplication对象,如进行以下操作:
qapp_instance->exec();
调用qt控件dll时,需要附带qt的dll
相关文章推荐
- c#调用vc写的ocx控件示例
- QT编写DLL给外部程序调用,提供VC/C#/C调用示例(含事件)
- QT编写DLL给外部程序调用,提供VC/C#/C调用示例(含事件)good
- QT编写DLL给外部程序调用,提供VC/C#/C调用示例(含事件)
- QT编写DLL给外部程序调用,提供VC/C#/C调用示例(含事件)
- C# 调用Qt编写的控件
- QT编写DLL给外部程序调用,提供VC/C#/C调用示例(含事件)
- QT编写DLL给外部程序调用,提供VC/C#/C调用示例(含事件)
- C#进程间调用控件方法
- C#调用mediaplayer控件打造音乐播放器
- VC调用C#写的COM+组件
- VC调用C#写的COM+组件
- VC 如何在线程里调用主窗口的控件。
- vs2005 C# 主窗体和子窗体之间控件相互调用
- .net C# 跨越线程调用窗体上的控件一个完整的例子
- c#中如何调用vc++写的动态链接库
- C#2005 多线程中调用窗体控件
- C#调用VC DLL 复杂结构 解决方法
- 创建用户控件自定义用户消息及调用(vc,mfc,消息影射)
- C#调用API,从Control继承自已生成ComboBox控件!!!!