## 20240206 python 筆記 ### GUI介面:(tkinter module) 1.windows:a container for widgets (可以放進元素的容器(視窗)) 2.widgets:GUI elements:buttons,textboxes,labels,images (簡單上來說就是GUI的元素) ```python from tkinter import* window=Tk() #創建一個GUI window.geometry("420x420") #window 大小 #geometry:幾何 #為string numxnum window.title("test window") #name of window window.config(background="black") #background color window.config(background="#5cfcff") #也可以用色碼 window.mainloop() #display window,and wait for events. ``` ### label of GUI An area wedget that holds text / image within a window. ```python from tkinter import* window=Tk() window.geometry("400x400") #photo=PhotoImage(file="file_name") #將圖片存進photo變數 #有一些可改變的參數 lable=Label(window,text="hello", #text font=("Arial",40,"bold"), #font(字型) foreground="Green", #foreground(字體顏色) background="black", relief=RAISED, #border border=10, #thickness of border padx=20, #the x direction distance of text to border pady=20 #the y direction distance of text to border #image=photo #upload picture ) lable.pack() #要使用.pack()才會將label上傳 lable.place(x=100,y=0) #position of label window.mainloop() #display window,and wait for events. ``` ### button of GUI click it and do some thing. ```python from tkinter import* click_times=0 def click(): global click_times #注意:因為在func外的預設都為global variable,所以要再修改為global 是在func內宣告!! click_times+=1 print("clicked",click_times) window=Tk() #photo=PhotoImage(file="file_name") button=Button(window, #window text="click it", #button 上文字 command=click, #按下button 執行func font=("Comic Sans",30), #button 字體 foreground="green", #字體顏色 background="black", #背景顏色 activeforeground="red", #按下時字體顏色 activebackground="blue", #按下時背景顏色 state=ACTIVE, #button是否打開 #image=photo, compound="top") #圖片在字體上面("top"),圖片在字體下面("button") button.pack() #upload button window.geometry("200x200") window.mainloop() ``` ### entry box enable user to input a single line ```python from tkinter import* def submission(): contents=entry_box.get() print(contents) def deletion(): entry_box.delete(0,END) def backspace(): entry_box.delete(entry_box.index(END)-1,END) window=Tk() window.geometry("200x200") entry_box=Entry(window,font=("arial",50), foreground="green", show="*") entry_box.pack() button1=Button(window,text="submit",command=submission) button2=Button(window,text="delete",command=deletion) button3=Button(window,text="backspace",command=backspace) button1.pack(side="right") button2.pack(side="right") button3.pack(side="right") entry_box.insert(0,"hi") window.mainloop() ```