Python GUI プログラミング (Tkinter)


Python は複数のグラフィカル開発インターフェイス ライブラリを提供します。一般的に使用される Python GUI ライブラリのいくつかは次のとおりです:

  • Tkinter: Tkinter モジュール (「Tk インターフェイス」) は、Python の標準 Tk GUI ツールキットのインターフェイスです。ほとんどの Unix プラットフォームで使用でき、Windows および Macintosh システムにも適用できます。Tk8.0 の以降のバージョンはローカル ウィンドウ スタイルを実装し、ほとんどのプラットフォームで適切に実行できます。

  • wxPython: wxPython は、オープン ソース ソフトウェアであり、Python 言語用の優れた GUI グラフィック ライブラリであり、Python プログラマーが完全なファンクション キーを備えた完全な GUI ユーザー インターフェイスを簡単に作成できるようにします。

  • Jython: Jython プログラムは Java とシームレスに統合できます。いくつかの標準モジュールに加えて、Jython は Java モジュールを使用します。 Jython には、C 言語に依存しない標準 Python のほとんどすべてのモジュールがあります。たとえば、Jython のユーザー インターフェイスは Swing、AWT、または SWT を使用します。 Jython は、動的または静的に Java バイトコードにコンパイルできます。


Tkinter プログラミング

Tkinter は、Python の標準 GUI ライブラリです。 Python は Tkinter を使用して GUI アプリケーションを迅速に作成します。

Tkinter は Python インストール パッケージに組み込まれているため、Python がインストールされていれば Tkinter ライブラリをインポートできます。IDLE も Tkinter で記述されているため、Tkinter は依然として単純なグラフィカル インターフェイスを簡単に処理できます。

GUIプログラムを作成します

  • 1. Tkinterモジュールをインポートします

  • 2. このコントロールのマスター、つまり、このコントロールが属するものを指定します

  • 4. GM (ジオメトリマネージャー) にコントロールが生成されたことを伝えます。

  • 例:

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    
    import Tkinter
    top = Tkinter.Tk()
    # 进入消息循环
    top.mainloop()

    上記のコードの実行結果は以下のようになります:

例2:

#!/usr/bin/python
# -*- coding: UTF-8 -*-

from Tkinter import *           # 导入 Tkinter 库
root = Tk()                     # 创建窗口对象的背景色
                                # 创建两个列表
li     = ['C','python','php','html','SQL','java']
movie  = ['CSS','jQuery','Bootstrap']
listb  = Listbox(root)          #  创建两个列表组件
listb2 = Listbox(root)
for item in li:                 # 第一个小部件插入数据
    listb.insert(0,item)

for item in movie:              # 第二个小部件插入数据
    listb2.insert(0,item)

listb.pack()                    # 将小部件放置到主窗口中
listb2.pack()
root.mainloop()                 # 进入消息循环

上記のコードの実行結果は以下のようになります:1033.jpg

Tkinterコンポーネント

Tkinter は、GUI アプリケーションで使用されるボタン、ラベル、テキスト ボックスなどのさまざまなコントロールを提供します。これらのコントロールは、コントロールまたはウィジェットと呼ばれることがよくあります。 1034.jpg
現在 15 個の Tkinter ウィジェットがあります。これらのコンポーネントを簡単な紹介とともに以下の表に示します。チェックボタン入力コントロールを使用します。単純なテキスト コンテンツを表示するために使用されますFrame コントロールは、画面上に長方形の領域を表示し、主にコンテナとして使用されますLabel コントロールはテキストとビットマップを表示できますリストボックス コントロール; リストボックス ウィジェットは、メニュー項目を表示するため、文字列のリストをユーザーに表示するために使用されますMenubutton。 メニューメニュー コントロール。メニュー バー、ドロップダウン メニュー、ポップアップ メニューを表示しますメッセージラベルと同様のメッセージ コントロール。 標準プロパティは、サイズ、フォント、色など、すべてのコントロールに共通のプロパティです。 プロパティ説明
コントロール説明
ボタンボタンコントロールは、プログラム内のボタンを表示します。
キャンバスコントロール; 線やテキストなどのグラフィック要素を表示します
プログラム内で複数の選択ボックスを提供するために使用されます
Frame
Label
ラジオボタンラジオボタンコントロール;ラジオボタンのステータスを表示します
スケール範囲コントロール;限られた範囲のデジタル間隔を出力する数値スケールを表示します
スクロールバーコンテンツがビジュアルを超える場合に使用されますリストボックスなどのエリア。 .
TextText コントロール。複数行のテキストを表示するために使用されます
Spinbox 入力コントロールと同様に、別のダイアログ ボックスを提供するために使用されます。 Entryまでですが、入力範囲の値を指定できます
PanedWindowPanedWindowは、1つ以上のサブコントロールを含めることができるウィンドウレイアウト管理プラグインです。
LabelFramelabelframeは、単純なコンテナコントロールです。一般的に使用される複雑なウィンドウ レイアウト。
tkMessageBoxは、アプリケーションのメッセージボックスを表示するために使用されます。
標準プロパティ

寸法

サイズを制御アンカーポイント;コントロールスタイルGeometry メソッド description pack()package; ネットグリッド
フォントを制御
アンカー
レリーフ
ビットマップ
カーソル
管理を試してみてくださいT キンター コントロールには、管理するための特定の幾何学的状態管理メソッドがありますコントロール領域の組織全体、以下は Tkinter によって公開されるジオメトリ管理クラスです: package、grid、position

place()

位置