を使用してGUIアプリケーションを作成する方法この記事は、もともと月に公開されました2016そして、新しい情報で更新されました.
彼らは基本的な例を過ぎて分岐し、彼らのプログラムへのグラフィカルインターフェイスを構築するために開始する準備ができているとき、ほとんど
Pythonでは、GUIプログラミングを始めるための手順はそれほど複雑ではありませんが、ユーザーがいくつかの選択を開始する必要があります。, すべての一般的なオペレーティングシステムで利用可能なインタプリタを備えた汎用プログラミング言語としての性質上、Pythonはグラフィカルユーザー
幸いなことに、多くのオプションのためのプログラマール用のhtmlタグを手軽に行うことができユーザーと交流します。 バインディングは、Linux、Windows、およびMacにネイティブなものを含む、さまざまなプラットフォーム上のいくつかのUIフレームワークのために存在し、,
さらに進む前に、あなた自身の悪魔の擁護者になって、尋ねてください:あなたのアプリケーションが伝統的なグラフィカルユーザーインターフェイスを持っていることは本当に理にかなっていますか? いくつかのプログラムでは、答えは明白です。 アプリケーションが本質的にグラフィカルであり、単一のローカルマシン上でローカルに実行されるように最適化されているか、単にローカルに実行される 多く、これは明らかなようだけであるといえるでしょう。
ただし、汎用プログラムの場合は、コマンドラインまたはwebインターフェイスのいずれかをカウントしません。, コマンドラインには、グラフィカルインターフェイスよりもアプリケーションのユーザーにとって重要な多くの利点があります。Click、Cement、Cliffなどの多くのライブラリがあり、優れたコマンドラインプログラムを設計しやすくします。
同様に、webインターフェイスは、ローカルで実行されることを意図したプログラムであっても、特にユーザーがアプリケーションをリモートでホストしたいと思う場合には、検討する価値のあるオプションである可能性があります。, も活用できる図書館のようなpywebview入れる薄いラッパwebアプリケーションネイティブのGUIウインドウです。
あるいは、Pyformsのようなフレームワークを使用して、web、コマンドライン、デスクトップ全体で一貫したエクスペリエンスを構築することもできます。
まだGUIを構築したいと思っていますか? が、ここにいくつかの例があります幻想的なオープンソースの図書館を取得します。,
PyQt、PySide、およびQt for Python
PyQtは一般的なQtライブラリを実装しているため、別の言語でのQt開発に精通している場合、おそらくKDEまたは別のQtベースのデスクトップ環境のためのネイティブアプリケーションの開発から、Qtに精通している可能性があります。 これにより、大規模なQtコミュニティのツールと知識を活用しながら、多くのプラットフォームで使い慣れたルックアンドフィールを持つPythonでアプリケー
Qtは開発者コミュニティで十分に確立されており、それを反映したツールを持っています。, Qtの周りにPythonアプリケーションを書くということは、QtCreatorにアクセスできることを意味します。
PyQtは、Qtプロジェクト自体とは異なり、商用ライセンスとGPLライセンスの両方の下でデュアルライセンスされており、PyQtをサポートする主要な会社は、
PythonでQtライブラリを使用する別のオプションについては、LPGLの下で利用可能なQt for Python(一般的にPySide2として知られています)を検討してください。,
Tkinter
Python用の”標準”GUIツールキットと呼ばれる単一のパッケージがある場合、それはTkinterになります。 Tkinterは、90年代初頭に普及した人気のあるグラフィカルインターフェイスと言語ペアリングであるTcl/Tkのラッパーです。Tkinterを選択する利点は、書籍やコードサンプルを含む膨大な数のリソースと、質問があればあなたを助けることができるユーザーの大規模なコミュニティです。 簡単な例は、始めるのが簡単で、かなり人間が読めるものです。,
Tkinterは、Tcl/TkのBSDライセンスに加えて、Pythonライセンスの下で利用可能です。
WxPython
WxPythonは、wxWidgetsクロスプラットフォームGUIライブラリをネイティブC++からPythonにもたらします。 WxPythonう少しネイティブによTkinter異なる営業システムを利用しているからでホストシステムのウィジェットを構築す。 また、使い始めるのもかなり簡単で、開発者コミュニティが増えています。 WxPythonをアプリケーションにバンドルする必要があるかもしれませんし、pythonで自動的にインストールされないため、ユーザーが自分でインストールする必要があ,
WxPythonは親プロジェクトのwxWindowsライブラリライセンスを使用しており、これはOSI承認されています。
Python GTK+3
以前はPyGTKとして知られていたPython GTK+3プロジェクトは、GTKオブジェクト(windows、ウィジェットなど)へのPythonバインディングを提供します。 GTK+はGNOMEデスクトップの基盤として最も有名に使用されていますが、Linux、Windows、およびMac上のスタンドアロンアプリケーションで利用できます。 Python GTK+3では、同じフレームワークがPythonプロジェクトで使用できます。
Python GTK+3を使用する場合、GTK+自体のために作成された同じ開発ツールの多くを使用することができます。, 特に、Gladeでは、インターフェースデザイナーのためのGTK+願います。 Gladeで設計されたインターフェイスはXMLとして保存され、GtkBuilderオブジェクトによってアプリケーションコードで使用されますが、使用するインターフェイスはドラ
Kivy
急速な開発と最新のデバイスを念頭に置いて構築されたKivyは、Linux(Raspberry Piを含む)、Windows、Mac、およびAndroid用のツールキットです。, このプロジェクトは”革新的なユーザーインターフェイス”に焦点を当てており、電話用の音楽コントローラアプリなどのマルチメディアアプリケーションに使用されています。
KivyにはQtCreatorやGladeのような視覚的なレイアウトプログラムはありませんが、独自の設計言語を使用してUIレイアウトをコードオブジェクトに関連付け これにより、アプリケーション内のクラスと関数を(精神的にもレイアウトコード内でも)簡単に区分することができます。, Kivyはまた、kivy Garden、ユーザーが作成したウィジェットやアドオンのリポジトリをホストしているので、kivy自体が提供していないものを作成することを考えているなら、あなたはそれがすでに庭に存在するかもしれません。
これらはあなたがあなたに利用できる唯一の選択肢ではなく、長いショットでさえもありません。 その他のオプションについては、公式のPython Software Foundation wikiの”PYTHONでのGUIプログラミング”ページをチェックしてください。 Pythonをさまざまなウィジェットライブラリや、FLTK、FOXなどのGUIツールにバインドするためのソリューションがあります。, 初心者はおそらく、部分的な実装のみを提供するプロジェクトや、もはや積極的に維持されていないプロジェクトを避けるべきですが、さまざまな
そこにあるオプションの多くは、親のデスクトップ環境のウィンドウのルックアンドフィールを取る従来のアプリケーション用ですが、ビデオゲーム内など、まったく異なる何かをしたい場合もあります。 Pygame、pyglet、Panda3dのように、これらの状況のための素晴らしいライブラリもあります。
Leave a Reply