Qt编写的子界面动态库,如何被VC、DELPHI等调用?

weixin_38049070 2019-09-19 11:51:25
这个子界面用的是QGraphicsView编写的,要求被嵌入到VC、Delphi的父窗体中现在的问题是Qt自己的QApplication消息循环似乎阻塞了VC程序自己的CWinApp消息循环,导致程序卡死,子窗体显示不出来。查阅了很多资料,官方有qtwinmigrate可以解决QT和MFC混合编译的问题,但是官方的文档,完全没看懂,特别是要求用cmd命令行那一块,就是link aginst qt libary完全没看懂,也不知道正确怎么操作。导致我用Qt Creator,里面想声明一个MFC的CString、CWinApp变量都不行。目前用的Qt是QT5.2。我的目的是实行一个i通用性的跨平台的矢量图画板程序,现在领导的意思叫我直接用QPainter,类似于直接使用GDI等工具但是我不知道怎么对WINDOWS、Linux、UNIX、MAC OS等系统底层消息、事件进行抽象及封装。领导的意思是叫我看QT是如何实现跨平台的,叫我直接移植QT系统跨平台和绘图引擎这部分源代码,然后可以使用任何的C++编译器都能编译成自己的程序。这弄得来我头的大了,感觉技术难度实在太大了,我觉得我还是先把QGraphicsView编写的子界面在VC、DELPHI下调用出来、正常使用再说吧
...全文
207 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38103285 2019-09-19
  • 打赏
  • 举报
回复
版主,现在遇到新的问题我想在VS2008下静态编译QT,我有个以前搭建的VS2008+QT4.4的环境,能正常编译QT代码然后,我下载的qtwinmigrate里面有个configure.bat,但是用cmd运行后没有反映,而且也没有生成我想要的lib文件,然后查了VS2008静态编译QT的一些资料,也没有说怎么单独编译一个后期增加的QT源代码还有就是对qt的configure.exe和qmake等指令不熟悉
weixin_38108951 2019-09-19
  • 打赏
  • 举报
回复
版主,现在遇到新的问题我想在VS2008下静态编译QT,我有个以前搭建的VS2008+QT4.4的环境,能正常编译QT代码然后,我下载的qtwinmigrate里面有个configure.bat,但是用cmd运行后没有反映,而且也没有生成我想要的lib文件,然后查了VS2008静态编译QT的一些资料,也没有说怎么单独编译一个后期增加的QT源代码还有就是对qt的configure.exe和qmake等指令不熟悉
weixin_38109453 2019-09-19
  • 打赏
  • 举报
回复
版主,现在遇到新的问题我想在VS2008下静态编译QT,我有个以前搭建的VS2008+QT4.4的环境,能正常编译QT代码然后,我下载的qtwinmigrate里面有个configure.bat,但是用cmd运行后没有反映,而且也没有生成我想要的lib文件,然后查了VS2008静态编译QT的一些资料,也没有说怎么单独编译一个后期增加的QT源代码还有就是对qt的configure.exe和qmake等指令不熟悉
weixin_38111513 2019-09-19
  • 打赏
  • 举报
回复
不好意思,网页出了点问题,导致9-12楼重复提交了
weixin_38120031 2019-09-19
  • 打赏
  • 举报
回复
窗口缩放器.rar (45 K) 下载次数:2 以前c++builder写的SetParent函数的测试程序不管是vc的mfc,cb delphi的vcl,qt的库,最底层都是用的windows的api。它们之间虽然上层的封装形式不同,但是最底层的windows api的调用规则都是一样的,都是遵循windows api的调用规则。它们之间的混合使用只要只使用winndows api和动态调用c的函数就应该没问题。ps:好像delphi可以写出c形式的函数。因为pascal和c,参数的压栈规则是不一样的。
weixin_38124462 2019-09-19
  • 打赏
  • 举报
回复
感谢以上各位的耐心解答,改为VS2008+QT4.8.6,就可以编写ActiveX控件,供其他Windows平台的exe调用
weixin_38125291 2019-09-19
  • 打赏
  • 举报
回复
用qtwinmigrate里面的方法应该是可以的。
weixin_38049686 2019-09-19
  • 打赏
  • 举报
回复
领导的意思是叫我看QT是如何实现跨平台的,叫我直接移植QT系统跨平台和绘图引擎这部分源代码,然后可以使用任何的C++编译器都能编译成自己的程序。这个难度太大,不要考虑了。QGraphicsView编写的子界面在VC、DELPHI下调用出来、正常使用再说吧。写个dll通过动态方式(函数名)调用标准c函数,数据交互什么的也都是c的类型,类型和数据交互不要包含任何c++和Qt的东西。这样vc下最起码没问题了,delphi我记得动态调用(函数名)c的dll还是很方便的。
weixin_38066102 2019-09-19
  • 打赏
  • 举报
回复
发布的程序也要包含Qt的dll模块图片:cdll.png
weixin_38066919 2019-09-19
  • 打赏
  • 举报
回复
QT编的DLL。早VC里面不可用,VC编的DLL。在QT里面也不可以用。
weixin_38079044 2019-09-19
  • 打赏
  • 举报
回复
我以前用c++builder,写过那个嵌入窗口的api的测试例子。可以嵌入vc写的程序窗口,但是只是简单显示没有任何数据交互。
weixin_38088709 2019-09-19
  • 打赏
  • 举报
回复
SetParent - 函数功能函数功能:该函数改变指定子窗口的父窗口。函数原型:HWND SetParent(HWND hWndChild,HWND hWndNewParent)
weixin_38091211 2019-09-19
  • 打赏
  • 举报
回复
版主,现在遇到新的问题我想在VS2008下静态编译QT,我有个以前搭建的VS2008+QT4.4的环境,能正常编译QT代码然后,我下载的qtwinmigrate里面有个configure.bat,但是用cmd运行后没有反映,而且也没有生成我想要的lib文件,然后查了VS2008静态编译QT的一些资料,也没有说怎么单独编译一个后期增加的QT源代码还有就是对qt的configure.exe和qmake等指令不熟悉
Grid++Report是一款同时支持C/S软件(桌面程序)与B/S软件(WEB程序)开发的报表工具,功能全面易学易用。C/S开发适用于VB.NET、C#、VB6、VB、VCDelphi、C++Builder、QT与易语言等。B/S开发适用于ASP.NET(C# & VB.NET),PHP,JSP(JAVA)等,支持所有WEB服务器。开发C/S报表与B/S报表的编程接口、报表模板与报表数据通用,共享相同的开发知识与设计资源。 1. 含C/S报表组件、WEB报表插件、HTML5报表与WEB报表服务器开发的相关文件。 2. 通用报表设计器应用程序,可视化设计报表模板,报表组件、报表插件与HTML5报表都用此程序设计报表模板,同一报表模板可为三种开发模式共 用。 3. 包含大量各种类型,各行各业的报表模板例,是学习报表设计的最好参考资源。 4. 包含桌面报表(C/S)组件、WEB报表插件、HTML5报表与WEB报表服务器的程序文件与例文件。报表组件例程序包括:C#, VB.NET, VB, VC, Delphi, C++Builder、中文编程易语言。Web报表例程序包括:asp.net(c#)、asp.net(vb)、php、jsp。还有可直接运行的例应用程序。 帮助文档及其它有关Grid++Report的文档与资源。 5. 请根据帮助文档中的相关说明,首先把例程序运行起来。请尽量模仿最简单的例程序开始学习。 6. 整理了C/S报表组件免COM注册发布软件的方法,实现绿色发布用Grid++Report开发的软件,并避免不同版本的Grid++Report发布在同一台电脑的冲突

435

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧