これは愚かな疑問に思えるかもしれませんが、この問題の単純な解決策があると思っています。私は、コマンドラインベースのいくつかの数学的計算を行うpythonスクリプトを持っています。私は現在持っているコードに大きな変更を加えるつもりはありません。モデルをそのままスタンドアローンのPythonスクリプトとして機能させながら、モデルとしてそのスクリプトを使用するGUI(私はwxpythonを使用しています)を作成するにはどうすればよいでしょうか。私はそれが相続と多型の問題であることを知っていますが、私が取るべきアプローチについてはっきりしていません。どんなガイドラインも大変ありがとうございます。既存のコマンドラインスクリプトをPythonのGUIに変換する
答えて
コマンドラインツールの品質によって異なります。基本的に「正しく」書かれていると、他のスクリプトで再利用可能な関数やクラスにその機能がカプセル化されます。つまり、問題なくインポートして使用できます。コマンドラインツールの「メイン」部分は、コマンドライン引数を解析し、それらの関数/クラスを呼び出します。 すべてが真であれば、明らかにGUIベースのアプリケーションで機能をインポートして使用することができます。
だから要するに、あなたの機能は、ユーザインターフェースから分離する必要があり、その後、インターフェースを切り替えることは、多かれ少なかれ簡単です。これは通常、front end and back endの分離と呼ばれます。
のは、あなたのコマンドライン実行ファイルがあるとしましょう:wxPythonので
OUTPUTFILE
%の計算-flag1 -flag2データ・ファイルのあなたは、FLAG2が使用されているFLAG1かどうか、および/または選択するファイル選択ウィジェットをチェックボックスを使用することができますデータファイルの場合は、出力ファイルのテキスト入力フィールドと '実行'ボタンがあります。 executeをクリックすると、コマンドラインを文字列で作成し、サブプロセスモジュール内のメソッドの1つに渡します。
これは、一部のコマンドラインツールに対するGUIインターフェイスのアプローチとまったく同じです。 'wget'がここに湧き出る。 –
- 1. コマンドラインスクリプトのクックブックGUIインターフェイス
- 2. 既存のPythonクラスをDjangoモデルに変換する
- 3. 既存のAndroidプロジェクトをKindleに変換
- 4. 既存のExcel式をパワークエリーに変換
- 5. Pythonのargparse CLIプログラムをTkinterでGUIに変換するには?
- 6. Pythonどのように "既存の"変数を変更する
- 7. Python GUIプログラム、2回の変換
- 8. python hangmanのゲームをGUIに変換する
- 9. 既存のデータベースの中でlatin1データをutf8に変換する
- 10. テーブルの既存のエントリをHibernateエンティティオブジェクトに変換する
- 11. 既存のプロジェクトをSCSSサポートプロジェクトに変換するには?
- 12. 既存のiOSネイティブアプリケーションをiOSチタンモジュールに変換する方法
- 13. 既存のレガシーライブラリをes6モジュールに変換する
- 14. 既存のgrid.Panelをtree.Panelに変換する
- 15. 既存のCライブラリをWebインタフェースに変換する
- 16. 既存のobjective-cスタティックライブラリをswiftに変換する
- 17. 既存のデータベースをWordPress形式に変換する
- 18. 既存のistanbul jsonファイルをhtmlに変換する方法
- 19. 既存のbower foundation + scssウェブサイトをワードプレステーマに変換する
- 20. 既存のアンギュラ2プロジェクトを角型CLIに変換する
- 21. 既存のプロジェクトをSilverlightに変換する
- 22. 既存のsqliteデータベーステーブルをfts3に変換する方法は?
- 23. 既存のiTextSharpドキュメントをバイト配列に変換する
- 24. 既存のキューをCompositeQueueに変換するActiveMQ
- 25. 既存のAngular 4プロジェクトをwebpackに変換する方法
- 26. 既存のWCFサービスをAzure WCFサービスに変換する
- 27. MySQLを既存のNOT JOINに変換する
- 28. 既存のGraphQL APIをRESTにプロキシ/変換するツール
- 29. Laravel 5:既存のweb.phpをapi.php(RESTFUL API)に変換する
- 30. 既存のexeをgui with windowsサービスにする
これは、あなたが始めるのに役立つことがあります。http://stackoverflow.com/q/9927821/1098754 –
これはとても面白いです!私はちょうどその質問に私の知る限りで答えました。 LMAO –
面白い!申し訳ありません。真剣に、私はあなたの質問であなたが探している答えの種類が不明です。つまり、ユーザーコントロールのセットを作成し、コントロールアクションをスクリプトの入出力にリンクさせるという単純な答えです。私はあなたがその単純な答え以外の何かを探していると思っています。 –