我的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();.path()而不是->showShellInDir(QDir::home());方法。
帮帮忙?谢谢
发布于 2008-12-16 21:33:35
你好,朋友!您可以使用以下命令将任何命令发送到TerminalInterface提示符
terminalInterface->sendInput("/usr/bin/python\n"); 我希望这将是有用的:
https://stackoverflow.com/questions/372094
复制相似问题