2011-11-12 12 views
1

フレームウィジェットにラベルウィジェットと入力ウィジェットを持つGUIがあります。コマンドプロンプトをフレームに追加して、ユーザーがコマンドを送信できるフレームにしたいと思います。私はPythonシェルでプロンプトを作成するためにcmdモジュールを使用することについて知っていますが、プロンプトを私のGUIウィンドウの一部にします。コマンドプロンプトをキャンバスに「埋め込む」方法がありますか?今私はCmdを使用しています。 init(self)とcmdloopを使用してPythonシェルでプロンプトを表示する...別のウィジェット内のコマンドプロンプト

さらに明確にするために、自分のウィンドウ。それは可能ですか?

+0

Tkinterを使用していますか? –

+0

はい、ありがとうございます。あなたは私の問題を解決する方法を知っていますか? – MiddleClassMan

+0

Linuxを使用している場合は、こちらをご覧ください:http://stackoverflow.com/questions/7253448/how-to-embed-a-terminal。 Windowsを使用している場合は、同様の方法を使用する必要がありますが、xtermではなくCMDウィンドウを使用する必要があります。私はCMDに '-into'プロパティがあるとは思わないので、独自のウィンドウを持つのとは対照的に、CMDウィンドウをTkinterのウィンドウの中に入れるようにOSに指示する必要があります。つまり、Windows APIについての理解を深める必要があります。 –

答えて

0

モジュールcmdモジュールは、入力と出力の両方に使用されるテキストの「ウィジェット」が1つしかない端末向けに作られました。これはGUIにはあまり適していません。ここで

は良い作品(ピラミッドのようなWebフレームワークに触発さ)でしょう:

は、出力の読み取り専用ウィジェット、およびコマンド入力用に別のウィジェットを持っています。

ユーザーがEnterキーを押す、(必要に応じて「>>>」で接頭辞と「...」)出力ボックスにコマンドをコピーし、リダイレクトすると、codeモジュールからcompile_commandrun_codeを使用して(コマンドを実行します。 sys.stdoutStringIO)、出力ボックスに出力を追加します。

+0

ありがとう、私はそれをやってみる、私は非常にPythonに新しいです。 – MiddleClassMan

関連する問題