效果圖:
生成一個title為my window的窗口,尺寸為500x300
包含一個Label,文字為 “you hit me”
包含一個Button,文字為“hit me”,點擊Label文字消失,再點擊Label文字出現
import tkinter as tk # 定義窗口 window = tk.Tk() #實例化窗口 window.title('my window') #窗口title window.geometry('500x300') #窗口尺寸 varText = tk.StringVar() # 定義Label,第一個參數為父容器 l = tk.Label(window, textvariable=varText, bg='green', font=('Arial', 25), width=20, height=5) # 安置Label l.pack()
#button的command函數 on_hit = False def hit_me(): global on_hit if (on_hit == False): on_hit = True varText.set("you hit me") else: on_hit = False varText.set("") # 定義button b = tk.Button(window,text='hit me',width=10,height=2,command=hit_me) b.pack() window.mainloop()
Label的相關屬性:
anchor:文本或圖像在背景內容區的位置,默認為 center,可選值為(n,s,w,e,ne,nw,sw,se,center)eswn 是東南西北英文的首字母,表示:上北下南左西右東。 bg:標簽背景顏色 bd:標簽的大小,默認為 2 個像素 bitmap:指定標簽上的位圖,如果指定了圖片,則該選項忽略 cursor:鼠標移動到標簽時,光標的形狀,可以設置為 arrow, circle, cross, plus 等 font:設置字體。 fg:設置前景色。 height:標簽的高度,默認值是 0。 image:設置標簽圖像。 justify:定義對齊方式,可選值有:LEFT,RIGHT,CENTER,默認為 CENTER。 padx:x 軸間距,以像素計,默認 1。 pady:y 軸間距,以像素計,默認 1。 relief:邊框樣式,可選的有:FLAT、SUNKEN、RAISED、GROOVE、RIDGE。默認為 FLAT。 text:設置文本,可以包含換行符(\n)。 textvariable:標簽顯示 Tkinter 變量,StringVar。如果變量被修改,標簽文本將自動更新。 underline:設置下划線,默認 -1,如果設置 1,則是從第二個字符開始畫下划線 width:設置標簽寬度,默認值是 0,自動計算,單位以像素計。 wraplength:設置標簽文本為多少行顯示,默認為 0。
Button的相關屬性:
activebackground:當鼠標放上去時,按鈕的背景色 activeforeground:當鼠標放上去時,按鈕的前景色 bd:按鈕邊框的大小,默認為 2 個像素 bg:按鈕的背景色 command:按鈕關聯的函數,當按鈕被點擊時,執行該函數 fg:按鈕的前景色(按鈕文本的顏色) font:文本字體 height:按鈕的高度 highlightcolor:要高亮的顏色 image:按鈕上要顯示的圖片 justify:顯示多行文本的時候,設置不同行之間的對齊方式,可選項包括LEFT, RIGHT, CENTER padx:按鈕在x軸方向上的內邊距(padding),是指按鈕的內容與按鈕邊緣的距離 pady:按鈕在y軸方向上的內邊距(padding) relief:邊框樣式,設置控件3D效果,可選的有:FLAT、SUNKEN、RAISED、GROOVE、RIDGE。默認為 FLAT。 state:設置按鈕組件狀態,可選的有NORMAL、ACTIVE、 DISABLED。默認 NORMAL。 underline:下划線。默認按鈕上的文本都不帶下划線。取值就是帶下划線的字符串索引,為 0 時,第一個字符帶下划線,為 1 時,前兩個字符帶下划線,以此類推 width:按鈕的寬度,如未設置此項,其大小以適應按鈕的內容(文本或圖片的大小) wraplength:限制按鈕每行顯示的字符的數量 text:按鈕的文本內容 anchor:錨選項,控制文本的位置,默認為中心