Python:Tkinterを使ってGUIを作成しよう。 その2
昨日に引き続きTkinterを使ったGUIについてまとめます。
今日は、
- ラベル
- テキスト(1行の)
- ボタン
の使い方をまとめたいと思います。
まずは3つとも入れた画面を作ってみよう
プログラムは以下の通り。
#tkinterをインポート import tkinter #ウィンドウの作成 root = tkinter.Tk() #ウィンドウのタイトルを作成 root.title("ボタンとか作ってみよ〜") # 画面サイズの最小サイズの指定 root.minsize(640,480) # 画面サイズの最大サイズの指定 root.maxsize(1000,800) #-------ここから追加部分--------- #ラベルの設定 label = tkinter.Label(root,text="初めてラベル書いてみた") #ラベルの場所指定 label.place(x = 50,y = 50) #テキストの設定 text = tkinter.Entry(width = 20) #テキストの初期値 text.insert(tkinter.END,"テキストの初期値") #テキストの場所指定 text.place(x = 50,y = 100) #ボタンの設定 button = tkinter.Button(text = "ぼたん") button.place(x = 50,y = 300) #-------ここまでが追加部分------------ #アプリを終了するまでループする処理。:これは一番最後に。 root.mainloop()
ラベルの使い方
#ラベルの設定 label = tkinter.Label(root,text="初めてラベル書いてみた") #ラベルの場所指定 label.place(x = 50,y = 50)
今回のように文字列以外を特に指定をしないのであれば、
textのところに出力したい文字列を入れればOKです。
label = tkinter.Label(root,text="ここに出力したい文字列をいれます。")
例えば、背景色や文字の色などを変更したい場合は
以下のように変更してください。
label = tkinter.Label(root,text="初めてラベル書いてみた",background = "#00FF00",foreground="#0000FF")
- background:背景色
- foreground:文字の色
これからの色指定はカラーコード(whiteとか)でも大丈夫みたいです。
文字を表示する場所は以下のようにx軸、y軸の値で表示する方法と
label.place(x = 50,y = 50)
pack()というメソッドを使って、中央や左寄せ、右寄せといった配置を
指定する方法があります。
label.pack()
今回は、x軸・y軸の座標の値を指定する方法でやっていきたいと思います。
テキスト(1行用の)の使い方
#テキストの設定 text = tkinter.Entry(width = 20) #テキストの初期値 text.insert(tkinter.END,"テキストの初期値") #テキストの場所指定 text.place(x = 50,y = 100)
まずはテキストを作ってみます。
text = tkinter.Entry(width = 20)
- width:テキストボックスの横幅を設定する
テキストボックス内の初期値を設定します。
(初期値が不要であれば、ここは不要です。)
text.insert(tkinter.END,"テキストの初期値")
最後に場所の指定をします。(ラベルと同じように指定します)
text.place(x = 50,y = 100)
ボタンの使い方
button = tkinter.Button(text = "ぼたん") button.place(x = 50,y = 300)
まずはボタンを作ります。
button = tkinter.Button(text = "ぼたん")
- text:ボタンの上に書きたい言葉を入れます。
ボタンサイズを変更したい場合は下のように引数を指定します。
button = tkinter.Button(text = "ぼたん",width = 20,height = 10)
- width:ボタンの幅
- height:ボタンの高さ
ボタンをクリックしたときの処理もここで指定します。
例えば
button = tkinter.Button(text="ぼたん" , command = func)
とするとfunc関数を呼び出し実行されます。
最後にボタンの場所を指定します。
button.place(x = 50,y = 300)
<最終更新日:2021/08/22>
2021/08/22 投稿