c++ - 在 qt/kdelibs 应用程序上显示后更改终端界面命令

标签 c++ qt kde-plasma kparts

我的 qt/kde 应用程序上有这个终端

KLibFactory* factory = KLibLoader::self()->factory("libkonsolepart");
KParts::Part* p = static_cast<KParts::Part*> (factory->create(this,"terminal",QStringList() << "terminal"));
assert(p);
TerminalInterface* terminalInterface= qobject_cast<TerminalInterface*> (p);
terminalInterface->showShellInDir(QDir::home().path());
QWidget* terminal = p->widget();

因此,我在窗口中看到的小部件是“终端”,但是当定义的事件发生时(显然,当终端已经显示时)我如何更改其内部命令?我试过:

terminalInterface->startProgram( QString::fromUtf8( "/usr/bin/python" ), QStringList() << "python");

但只有当我在最后一行之前这样做时它才有效:

QWidget* terminal = p->widget();

viz 而不是 ->showShellInDir(QDir::home().path());方法。

有帮助吗?谢谢

最佳答案

你好 friend !您可以使用

将任何命令发送到 TerminalInterface 提示符
   terminalInterface->sendInput("/usr/bin/python\n"); 

希望对你有用 :D

关于c++ - 在 qt/kdelibs 应用程序上显示后更改终端界面命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/372094/

相关文章:

c++ - Qt编译报错unicode/uloc.h

layout - KDE : how do i find and switch current global keyboard layout from CLI?

c++ - 贪吃蛇游戏中的 drawGame 函数问题

c++ - 为什么在调用 std::call_once() 时需要这个指针?

c++ - 使用 memcpy 将 float 组复制到 uint8_t 数组是否有效

Linux Red Hat 5.6 和 VNC : KDE & Gnome

passwords - KDE kwallet 迁移辅助

c++ - 使用未定义它们的构造函数赋予属性值(Matrix(int,int))

c++ - 不在 main() 线程中创建 QCoreApplication 对象是否合法?

c++ - 使流布局适应 Qt 表