1.使用QAxObject嵌入微软ActiveX软件

使用QAxObject需要包含Qt模块:
QT +=axcontainer;
注:
1.此方式只针对微软的组件才有效,不可以用来加载第三方的应用程序;
2.获取该组件的相关的API接口文档可以采用以下方式:
QAxObject *pAxobject = new QAxObject(this);
QString strApiDoc = pAxobject->generateDocumentation();

2.使用QWebView加载网页

使用QWebView需要包含Qt模块:
QT += webkits;

需要包含的头文件:
#include <QWebView>
#include <QUrl>
加载web网页:
QWebView *pWebView = new QWebView(this);
pWebView->Load(QUrl::fromUserInput("http://www.baidu.com"));
pWebView->Show();
注:
1.此方式当时在Qt5.6版本和VS编译器版本MSVC 2013_64中测试有效;意味着在一些更高的Qt版本中可能有其它方式替换了该模块。
2.此方式加载的网页在第一次启动时会很缓慢,考虑用户体验等情况,该方式不能作为首选。

3.QWebEngineView加载网页
4.QDesktopServices启动默认浏览器

QDesktopServices::openUrl(QUrl::fromUserInput("http://www.baidu.com"));
注:
1.此方式只能启动Windows系统下设定的默认浏览器,并不能将该网页嵌入到Qt程序中。
2.加载网页的速度快于Qt自己封装的网页加载模块。

5.采用windows的API来启动一个程序
ShellExecute(handle,'open', 'http://www.neu.edu.cn', nil, nil, SW_SHOWNORMAL);  //打开一个网页
ShellExecute(Handle,'open','Explorer.exe',PChar(FOpenFolderName),nil,1) ;  //打开一个文件或程序handle:    指定显示位置的父窗口operation: 打开方式,参数设为nil 时默认为open , 表示打开由filename 指定的 程序 或者 文件 和文件夹print  表示打印由filename 指定的文件explore 浏览由filename 指定的文件夹filename:    指定要操作的 可执行文件名 和  普通文件  和 文件夹   // 为文件或文件夹必须要有完整的路径Dir:  当filename 为可执行文件时,指定要操作的路径prameter:    若filename 为可执行文件 则 指定其命令参数,若无则为 nilshowcmd:  1 表示以最大话或最小化 方式显示
6.采用QProcess 来嵌入外部应用程序

==注:==如果采用此方法嵌入的外部程序,无法处理键盘的输入或鼠标操作等事件,可以采用以下方法来解决:

#include<windows.h>
#include<QWindow>
void AttachWinThreadKeyMouseEvent(WId remoteHandle)
{DWORD curThreadId = GetCurrentThreadId();  //获取当前线程的IDDWORD remoteThreadId = GetWindowThreadProcessId((HWND)remoteThreadId,NULL); //获取要加入到当前线程的外部线程IDif (curThreadId != remoteThreadId){if (!AttachThreadInput(remoteThreadId, curThreadId, true)){qErrnoWarning("AttachThreadInput:Error");}}
}
7.miniblink加载网页

Qt应用程序嵌入浏览器的常用方法相关推荐

  1. Linux下 Qt界面程序嵌入另一个Qt界面程序_Qt应用嵌入外部进程窗口

    项目工程的实现,想要使用多个程序进行实现,在里面存在一定的调用的过程:调查的情况如下 Qt界面程序嵌入另一个Qt界面程序[Linux] Qt界面程序嵌入另一个Qt界面程序[Linux]_ptc321的 ...

  2. ActiveX控件制作与发布,如何将您的C++程序嵌入到浏览器中

    本文演示如何将Qt应用程序打包嵌入IE浏览器并发布. 1. 例子Qt程序: 新建项目,选择Qt Library类型,类名为ClassDemo. 新建QtGui类(继承QWidge)类名ClassGui ...

  3. Qt嵌入浏览器开发——下载编译

    首先明确一下动机:为什么要用Qt自己实现一个浏览器? 简而言之,就是希望实现一个介于B/S和C/S之间的混合架构,以适应一些前端展示信息需要频繁更新的生产系统.这种混合架构的优势在于: 相较于C/S架 ...

  4. java内嵌html5浏览器_在java应用程序中嵌入浏览器

    方式一:用jdic开源组件,这种方式有个缺点,不支持firefox,如果把默认浏览器设为firefox就会出错 具体代码如下: import java.awt.BorderLayout; import ...

  5. cocos2d 嵌入网页_在 cocos2d-x 中嵌入浏览器

    在 cocos2d-x 中嵌入浏览器 次阅读 Embeds a browser in cocos2d-x 在游戏中嵌入网页是很常见的需求,cocos2d-x 引擎官方并没有提供这个功能. 我在网上转了 ...

  6. Qt应用程序主窗口框架

    Qt 应用程序主窗口框架 1. Qt资源系统.菜单栏和工具栏 1.1 使用资源 1.2 编写代码方式添加菜单 1.3 菜单栏 1.4 工具栏 2. 中心部件 3. Dock部件 4. 状态栏 5. 例 ...

  7. java gui 嵌入浏览器_DJNativeSwing-SWT组件-Java GUI中内嵌浏览器

    Java项目中经常需要在GUI程序中嵌入浏览器,而Swing自带的组件对CSS.JS的支持不是很好,网上也有很多组件,参考 但是由于对各个平台的支持不是很好,笔者是在Mac系统下进行开发,很多组件只支 ...

  8. Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法

    Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法 最近由于老师要求要在Ubuntu下QT上进程多线程服务器的开发,虽然只是单纯的调用qt的network模块,但是为了避免麻烦,我 ...

  9. 关于C#开发山寨操作系统,程序语言,浏览器,IDE,Office,Photoshop等大型程序的可行性歪论及意义...

    首先,起这么个大标题不是为了眼球,也决非本人自大,本人对技术是很一般的也就是个普通人.不过因为受一些言论,贴子,新闻等综合思考而产生. 有些人认为C#这不行那不行,只能做做"企业管理&quo ...

  10. 关于Qt Designer程序/UI文件打开未响应的解决方法

    关于Qt Designer程序/UI文件打开未响应的解决方法 参考文章: (1)关于Qt Designer程序/UI文件打开未响应的解决方法 (2)https://www.cnblogs.com/ys ...

最新文章

  1. java集合框架综述
  2. ActiveX控件制作与发布,如何将您的C++程序嵌入到浏览器中
  3. Spring MVC应用程序中的Thymeleaf模板布局,无扩展
  4. .NET的资源并不限于.resx文件,你可以采用任意存储形式[上篇] (转载)
  5. php面向对象初始化一次,php单例模式实现(对象只被创建一次)
  6. Java是传值还是传引用
  7. 后RCNN时代的物体检测及实例分割进展
  8. 学习笔记(01):2019软考网络工程师--基础知识视频教程-数据通信基础(一)
  9. k8s中安装traefix并配置dashboard访问权限
  10. nas 和 远程文件夹同步_我应该如何使用Qsync来同步我计算机和NAS上的档案?
  11. namecheap mx记录配置邮箱
  12. 链新:探索NFT中国化路径,与实体经济相结合
  13. LSL-- Types
  14. mysql查询结果赋予变量_MySQL设置会话变量:把查询结果赋值给变量
  15. 关于arduino驱动SH1106 OLED屏幕使用U8g2库显示案例
  16. 【微信小程序】注册一个微信小程序
  17. srand和rand详细讲解
  18. 我在网易云音乐里看到的那些关于考研的故事
  19. [绍棠_Swift] SwiftyJSON的使用详解(附样例,用于JSON数据处理)
  20. AD936x 系列快速入口

热门文章

  1. Flutter使用Clip裁剪Widget
  2. Ambiguous method call.both
  3. VS2019创建基于SDL+ffmpeg的工程
  4. mysql float数据类型和decimal数据类型
  5. PhotoShop 之钢笔工具
  6. 服务器ie浏览器总是未响应怎么办,IE8浏览器总是无响应或卡死崩溃怎么办
  7. ASP.NET MVC入门视频教程
  8. 常用的20个js简洁代码
  9. 前端人不可错过的低代码神器,告别切图,一键成稿啦!
  10. SQLite3基础教程(二)