帮忙吧这个代码写出。

帮忙把这个表格代码写出来,... 帮忙把这个表格代码写出来, 展开
 我来答
lilipat
高粉答主

2018-11-29 · 每个回答都超有意思的
知道大有可为答主
回答量:3万
采纳率:94%
帮助的人:5068万
展开全部

Qt 实现进程间窗口嵌套

环境:Qt 5.9.1_msvc2015_64bit,Window 10.

为了实现在qt程序中打开Window上其他应用程序,并将其嵌入到qt程序中。

方法:获取外部程序的窗口句柄,调用

[static]QWindow *QWindow::fromWinId(WIdid)

函数创建QWindow,然后调用

[static]QWidget *QWidget::createWindowContainer(QWindow *window,QWidget *parent = Q_NULLPTR,Qt::WindowFlagsflags = Qt::WindowFlags())

创建一个QWidget即可。

关键之处在于如何获取窗口句柄。

我们都知道Windows编程中,可以通过FindWindow系列的函数获取HWND类型的窗口句柄(需要include windows.h头文件),HWND类型和Qt中的WId类型可以转换,所以通过FindWindow我们可以找到想要嵌入的窗口,不论是子窗口还是主窗口,即使是整个桌面也未尝不可。

下面贴一下效果图:

原程序:


这是嵌入之后的Qt程序:


可以看到,在这里标题栏和边框都消失了。很有意思的方法,好奇Qt是如何做到这种进程间的嵌套,这篇只是简单介绍,待我研究透彻再来给大家分享。

如果不需要嵌套窗口的话,Qt也提供了其他的方法,不需要如此复杂。像QDesktopServices类,可以打开本地应用程序(打开文件或网页时,自动选择默认的应用程序)。

一开始的目的,是想将office窗口显示到qt程序里面,采用的是activexQt模块,但activex的开发需要一定时间的积累,微软的东西比较难用,加上activex只能打开微软自家的东西(有待验证),而且如果以后不仅仅是显示office呢?所以干脆直接嵌套进程窗口,一劳永逸。

AiPPT
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图... 点击进入详情页
本回答由AiPPT提供
百度网友a3081b7
2018-11-29 · TA获得超过234个赞
知道小有建树答主
回答量:431
采纳率:33%
帮助的人:108万
展开全部
这种一般是ifreame
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式