1

私の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()); の代わりに viz 方法。

手助け?ありがとう

4

1 に答える 1

1

ほらアミーゴ!を使用して、任意のコマンドを TerminalInterface プロンプトに送信できます。

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

私はそれが役に立つことを願っています:D

于 2008-12-16T21:33:34.833 に答える