我正在编写一个 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/