VBA別館・Python別館
Python tkinter復習 - Tak
2018/12/06 (Thu) 10:19:27
import tkinter
GUI tkinterの復習をします。
① まだウインドーを作ります
--------------------------
import tkinter
# Tkクラス生成
root = tkinter.Tk()
# 画面サイズ
root.geometry('300x300')
# 画面タイトル
root.title('GUIの復習')
Re: Python tkinter復習 - Tak
2018/12/06 (Thu) 17:34:02
② ウインドーにコマンドボタンを張り付ける
--------------------
import tkinter
root =tkinter.Tk()
root.geometry("300x300")
root.title(u'GUIの復習')
button = tkinter.Button(root, width=10,height=2,text=u"押す") #ボタンの生成
button.pack() # pack()で確定処理を行うことで始めて画面に表示される
root.mainloop()
------------------
button.pack()で張り付けると、一番上に張り付く。 勿論位置の指定はできるが次回のお楽しみ。
Re: Python tkinter復習 - Tak
2018/12/06 (Thu) 19:39:47
③ コマンドボタンの位置を調整する
--------------------
import tkinter
root =tkinter.Tk()
root.geometry("300x300")
root.title(u'GUIの復習')
button = tkinter.Button(root, width=10,height=2,text=u"押す",bg = "pink") #ボタンの生成
#button.place(x=左からの距離, y=上からの距離)で指定できます.
button.place(x=100, y=50)
root.mainloop()
------------------------------
button = tkinter.Button(root, width=10,height=2,text=u"押す",bg = "pink") #背景色をpinkにしました。
#button.place(x=左からの距離, y=上からの距離)で指定できますので、 button.place(x=100, y=50) で位置決めができます。
他の部品の位置決めも大体こんなものです。
Re: Python tkinter復習 - Tak
2018/12/06 (Thu) 20:12:10
④ コマンドボタンの命令を書く
---------------------
import tkinter as tk
root =tk.Tk()
root.geometry("300x300")
root.title(u'GUIの復習')
button = tk.Button(root, width=10,height=2,text=u"押す",bg = "pink") #ボタンの生成
def push():
print("出来ましたね!")
button = tk.Button(root, text="Push", bg='pink',command=push)
button.place(x=100, y=50)
root.mainloop()
-------------------
・ボタンを押したら、shellに”できましたね”と表示します。
・その処理を自作関数として、def push()と定義しています。 VBAなどと違って関数定義先に来ます。 ある意味流れが分かり易いです。
・ボタンの処理命令がcommand=pushです。 命令されたら、pushと言う関数を読取り、print("出来ましたね!")を表示します。
・すべてのcodeはroot=tk.Tk()とroot.mailloop()の間に書きます。
・その前にimport thinter as tk を忘れないように。 tkinterを呼び出さないとエラーになります。
・print()はdefの中での処理命令ですので、必ずdefより半角4個下げて下さい(またはTab)。 print()関数の親分はdef()関数ですよと宣言しているのです。
少し分かりかけてきませんか?
Re: Python tkinter復習 - Tak
2018/12/08 (Sat) 21:09:19
⑤ ボタンonでラベルに文字を表示するcode
「Message will appear」と書いたボタンをクリックすると、「You are enjoying Python!」と表示されます。
これがボタンに命令させる最初のcodeです。
---------------------------
#ボタン押下でラベルに表示する 12/8/2018
#tkinter(button_label1)
import tkinter as tk
root = tk.Tk()
root.title("ラベルに書きだす")
root.geometry("300x200")
def on_clicked():
label1=tk.Label(root, text="You are enjoying Python!",bg="pink")
label1.place(x=90,y=50)
#ラベルを作るbuttonを貼る
button=tk.Button(root, text="Message will appear.",bg="light blue",command=on_clicked)
button.place(x=100,y=5)
root.mainloop()
-------------------------
ここで覚えることは;
・def on_clicked():とボタンに指示を出す関数を作ることです。関数宣言が下の指示より先に書かれる必要があります。
・そしてbuttonに command=on_clicked という指示をすることです。
・部品の位置決めはpack()とplace()が主なものです。
・ボタンをクリックすると、図のように「You are enjoying Python!」と表示されるのは先に書いた通りです。