加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 在QT应用程序中嵌入应用程序(在本例中为终端)

发布时间:2020-12-14 01:56:41 所属栏目:Linux 来源:网络整理
导读:我正在编写一个QT应用程序,我需要在QDialog中嵌入一个终端(我们说,xterm),就像一些KDE应用程序(参见kdevelop / kate / …). 我一直在尝试: – QX11EmbedContainer放入QDialog的QLayout – 我想要执行的程序的QProcess 我希望QProcess在QX11EmbedContainer中
我正在编写一个QT应用程序,我需要在QDialog中嵌入一个终端(我们说,xterm),就像一些KDE应用程序(参见kdevelop / kate / …).

我一直在尝试:
– QX11EmbedContainer放入QDialog的QLayout
– 我想要执行的程序的QProcess

我希望QProcess在QX11EmbedContainer中运行,但它不起作用.

问题是我不能把xterm放到QX11EmbedContainer中,我唯一得到的是一个xterm窗口(不幸的是与我的QDialog分开).
有没有人遇到同样的问题?

解决方法

对不起,我已经尝试过你的解决方案,然后发布哦这个网站,它不起作用.
我已经解决了切换到kdelibs并使用这些导入和代码的问题

#include <kparts/part.h>
#include <assert.h>
#include <kde_terminal_interface.h>
#include <kpluginfactory.h>
#include <klibloader.h>
KLibFactory* factory = KLibLoader::self()->factory( "libkonsolepart" );
KParts::Part* p = static_cast<KParts::Part*>(factory->create( this,"tralala",QStringList() << "dio") );

assert(p);
setCentralWidget( p->widget() );
TerminalInterface *t = qobject_cast<TerminalInterface*>(p);
t->showShellInDir( QDir::home().path() );

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读