2012-03-29 2 views
2

これは愚かな疑問に思えるかもしれませんが、この問題の単純な解決策があると思っています。私は、コマンドラインベースのいくつかの数学的計算を行うpythonスクリプトを持っています。私は現在持っているコードに大きな変更を加えるつもりはありません。モデルをそのままスタンドアローンのPythonスクリプトとして機能させながら、モデルとしてそのスクリプトを使用するGUI(私はwxpythonを使用しています)を作成するにはどうすればよいでしょうか。私はそれが相続と多型の問題であることを知っていますが、私が取るべきアプローチについてはっきりしていません。どんなガイドラインも大変ありがとうございます。既存のコマンドラインスクリプトをPythonのGUIに変換する

+0

これは、あなたが始めるのに役立つことがあります。http://stackoverflow.com/q/9927821/1098754 –

+0

これはとても面白いです!私はちょうどその質問に私の知る限りで答えました。 LMAO –

+0

面白い!申し訳ありません。真剣に、私はあなたの質問であなたが探している答えの種類が不明です。つまり、ユーザーコントロールのセットを作成し、コントロールアクションをスクリプトの入出力にリンクさせるという単純な答えです。私はあなたがその単純な答え以外の何かを探していると思っています。 –

答えて

1

コマンドラインツールの品質によって異なります。基本的に「正しく」書かれていると、他のスクリプトで再利用可能な関数やクラスにその機能がカプセル化されます。つまり、問題なくインポートして使用できます。コマンドラインツールの「メイン」部分は、コマンドライン引数を解析し、それらの関数/クラスを呼び出します。 すべてが真であれば、明らかにGUIベースのアプリケーションで機能をインポートして使用することができます。

だから要するに、あなたの機能は、ユーザインターフェースから分離する必要があり、その後、インターフェースを切り替えることは、多かれ少なかれ簡単です。これは通常、front end and back endの分離と呼ばれます。

1

のは、あなたのコマンドライン実行ファイルがあるとしましょう:wxPythonので

OUTPUTFILE

%の計算-flag1 -flag2データ・ファイルのあなたは、FLAG2が使用されているFLAG1かどうか、および/または選択するファイル選択ウィジェットをチェックボックスを使用することができますデータファイルの場合は、出力ファイルのテキスト入力フィールドと '実行'ボタンがあります。 executeをクリックすると、コマンドラインを文字列で作成し、サブプロセスモジュール内のメソッドの1つに渡します。

+0

これは、一部のコマンドラインツールに対するGUIインターフェイスのアプローチとまったく同じです。 'wget'がここに湧き出る。 –

関連する問題