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

标签 linux qt x11 kde-plasma xterm

我正在编写一个 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() );

关于linux - 在 QT 应用程序中嵌入应用程序(在本例中为终端),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/305523/

相关文章:

linux - 如何找到想要连接监听套接字的客户端的源IP和端口?

python - ioctl 错误号 : 25 in GPIB communication using python-gpib

linux - 使用 Ant 复制到受限文件夹(在 Ubuntu 中使用 Eclipse)

ruby - 安装作为 Ruby gem 实现的系统服务的方法

x11 - 在窗口之间共享颜色图

c++ - 如何在 Linux 中做一个假的鼠标滚轮移动

c++ - qmake 可以在 Visual Studio 项目中配置命令行选项吗?

c++ - 在 Debug模式下无法在 Qt Creator 中使用 imwrite()

c++ - 为什么Qt图表示例不删除动态分配的变量

c++ - 如何使用 xlib 识别顶级 X11 窗口?