У меня есть этот терминал в моем приложении 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 ()); Метод.
Некоторая помощь? Спасибо