我的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();
即代替-> showShellInDir(QDir::home()。path());方法。
一些帮助?谢谢
最佳答案
Hola friend !您可以使用以下命令将任何命令发送到TerminalInterface提示符
terminalInterface->sendInput("/usr/bin/python\n");
我希望这将是有用的:D
关于c++ - 在qt/kdelibs应用程序上显示后更改terminalinterface命令,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/372094/