Изменение команды Terminalinterface после ее отображения в приложении qt / kdelibs - PullRequest
1 голос
/ 16 декабря 2008

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

Некоторая помощь? Спасибо

1 Ответ

1 голос
/ 17 декабря 2008

Привет, амиго! Вы можете отправить любую команду на приглашение TerminalInterface с помощью

   terminalInterface->sendInput("/usr/bin/python\n"); 

Надеюсь, это будет полезно: D

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...