このチュートリアルシリーズでは、我々は、PythonのGUIの例を書き込むことにより、グラフィカル・ユーザー・インタフェースを開発する方法を学びますTkinterのパッケージを使用しています。
[追加]ボタンウィジェット
ウィンドウを開始するためのボタンを追加してみましょう。ボタンを作成し、同様のウィンドウにラベルを追加します。
BTN =ボタン(ウィンドウ、テキスト= "こちらをクリック")
btn.grid(カラム= 1、行= 0)
今、私たちのウィンドウは次のようになります。
結果は以下のようになります。
我々は上(つまり、1)ウィンドウの2列目に配置されますのでご注意ください。あなたは忘れ、同じ列の上に置く場合(すなわち、0)、それがラベルの上部にあるボタンので、ボタンのみが表示されます。
[変更]ボタンの前景色と背景色
あなたはFGフォアグラウンドカラー属性変更ボタン、または任意の他のウィジェットを使用することができます。
また、あなたはまた、任意のBGプロパティは、ウィジェットの背景色を変更することができます。
BTN =ボタン(ウィンドウ、テキスト= "点击这里"、BG = "オレンジ"、FG = "赤"、フォント=( "Arialの太字"、30))
示すように、結果:
あなたがボタンをクリックしようとした場合、イベントがまだボタンをクリックして書かれていないので、今、何が起こりません。
ボタンのクリックイベントの処理
まず、我々はあなたがボタンをクリックしたときに実行される関数を記述します:
デフ)(クリック:
次に、それを次の関数で指定されているボタンが接続されています。
BTN =ボタン(ウィンドウ、テキスト= "点击这里"、コマンド=クリック、BG = "オレンジ"、FG = "赤"、フォント=( "Arialの太字"、30))
注我々は括弧を使用することをクリックするというよりもクリックされた入力しました()。
今、完全なコードは次のようになります。
デフ)(クリック:
BTN =ボタン(ウィンドウ、テキスト= "点击这里"、コマンド=クリック、BG = "オレンジ"、FG = "赤"、フォント=( "Arialの太字"、30))
btn.grid(カラム= 1、行= 0)
)(window.mainloop
私たちは、ボタンをクリックすると、下に示すように、結果は、私たちのよう、期待しました:
使用入力クラス(Tkinterのテキストボックス)入力を取得
PythonのGUI前の例では、我々はすでにのはTkinterの入力クラス(Tkinterのテキストボックス)を使用してユーザー入力を取得してみましょう今、簡単なウィジェットを追加する方法を知っています。
あなたは以下のように、テキストボックスを作成するにはTkinterのエントリクラスを使用することができます。
TXT =エントリ(窓、幅= 10)
その後、あなたは、いつものようにグリッド機能を使用するウィンドウに追加することができます
完全なコードは次のとおりです。
Tkinterのインポートから*
ウィンドウ= Tkの()
window.geometry( '600x400')
LBL =ラベル(ウィンドウ、テキスト= "Linuxの公社"、フォント=( "Arialの太字"、30))
lbl.grid(列= 0、行= 0)
TXT =エントリ(窓、幅= 10)
txt.grid(カラム= 1、行= 0)
デフ)(クリック:
BTN =ボタン(ウィンドウ、テキスト= "点击这里"、コマンド=クリック、BG = "オレンジ"、FG = "赤"、フォント=( "Arialの太字"、30))
btn.grid(カラム= 2、行= 0)
window.mainloop()
今、このような私たちの窓:
あなたがボタンをクリックすると、今、それは同じ古いメッセージが表示されますが、ディスプレイは入力に入力したテキストは、それをウィジェット?
まず、あなたが入力したテキストを取得するには、Get関数を使用することができます。したがって、我々は我々がクリックされたように関数に以下のコードを書くことができます。
デフ)(クリック:
RES = "ようこそ" + txt.get()
lbl.configure(テキスト= RES)
あなたがボタンを押すと、テキスト入力ボックスをクリックした場合、それはテキスト入力で「ようこそ」と一緒に表示されます。
以下は、完全なコードです:
Tkinterのインポートから*
ウィンドウ= Tkの()
window.geometry( '600x400')
LBL =ラベル(ウィンドウ、テキスト= "Linuxの公社"、フォント=( "Arialの太字"、30))
lbl.grid(列= 0、行= 0)
TXT =エントリ(窓、幅= 20)
txt.grid(カラム= 1、行= 0)
デフ)(クリック:
RES = "ようこそ" + txt.get()
lbl.configure(テキスト= RES)
BTN =ボタン(ウィンドウ、テキスト= "点击这里"、コマンド=クリック、BG = "オレンジ"、FG = "赤"、フォント=( "Arialの太字"、30))
btn.grid(カラム= 2、行= 0)
window.mainloop()
次のような効果があります
OK、クールはクールではありません。
コードが実行されているたびに、私たちはエントリをクリックする必要があり、書き込みテキストにフォーカスを設定するウィジェットが、自動的にフォーカスを設定する方法?
txt.focus()
あなたは、コードを実行したときにも、あなたが達成するために、今テキストを書き込むことができるように、フォーカスを持っているウィジェットのエントリに気づくでしょう。
無効にエントリウィジェット
エントリウィジェットが無効に国有財産かもしれ無効にするには:
TXT =エントリ(ウィンドウ、幅= 10、状態= '無効')
さて、あなたは任意のテキストを入力することはできません。
図は次のとおりです。
のは、(例えば、コンボボックスウィジェットを追加)GUIウィジェットの次のセクションでより追加してみましょう。ご期待。