ui設(shè)計(jì)做兼職的網(wǎng)站如何寫市場調(diào)研報(bào)告
Button(按鈕)組件用于實(shí)現(xiàn)各種各樣的按鈕。
Button組件可以包含文本或圖像,你可以將一個(gè)Python的函數(shù)或方法與之相關(guān)聯(lián),當(dāng)按鈕被按下時(shí),對應(yīng)的函數(shù)或方法將被自動執(zhí)行。
Button組件僅能顯示單一字體的文本,但是文本可以跨域多行。
另外,還可以為其中的個(gè)別字符加上下劃線(例如用于表示鍵盤快捷鍵)。
默認(rèn)情況下,tab按鍵被用于在按鈕間切換。
何時(shí)使用Button組件?
簡而言之,Button組件是用于讓用戶說:“干!”,通過按鈕上的文字或圖像讓用戶清楚按下去是干什么用的。Button組件常常被用于工具欄、應(yīng)用程序窗口。
Checkbutton和Radiobutton組件更適合做數(shù)據(jù)輸入按鈕使用。
用法
普通的按鈕是非常簡單易用的。你所需要做的就是指定Button的內(nèi)容(文本、位圖或圖片),并且關(guān)聯(lián)當(dāng)按鈕按下時(shí)應(yīng)該調(diào)用的函數(shù)或方法。
from tkinter as tkroot = tk.Tk()def callback():print(“爺爺在此”)b = tk.Button(root, text=’者行孫’, command=callback)b.pack()tk.mainloop()
如果一個(gè)按鈕沒有相關(guān)聯(lián)的函數(shù)或方法,那么它就形同虛設(shè)。
你可能在開發(fā)程序的過程中會使用到這樣的按鈕,在這種情況下,更好的方法是禁用這些按鈕,從而避免導(dǎo)致你的測試用戶產(chǎn)生疑惑。
B = tk.Button(root, text=’不能按我’, state=tk.DISABLED)
如果你沒有指定Label的大小,那么Label的尺寸是正好可以容納其內(nèi)容,你可以使用padx和pady選項(xiàng)在Button的內(nèi)容和邊框間添加額外的間距。
當(dāng)然你可以通過height和width選項(xiàng)來明確設(shè)置Button的大小:
????????如果你顯示的文本,那么這個(gè)兩個(gè)選型是以文本為單位定義Button的大小;
????????如果你顯示的是位圖或圖像,那么它們以像素為單位(或者其他屏幕單元)定義Button大小。
對于內(nèi)容為文本的Button組件,你可以使用像素為單位指定Button的尺寸,不過這需要一些技巧,這里提供一個(gè)方法給大家參考。
f = tk.Frame(root, height=64, width=64)f.pack_propagete(0)f.pack()b = tk.Button(f, text=’你過來啊’, command=callback)b.pack(fill=tk.BOTH, expand=1)
Button可以顯示多行文本,你可以直接使用換行符或者使用wraplength選項(xiàng)來實(shí)現(xiàn)。
當(dāng)文本換行的時(shí)候,你可以使用anchor和justify以及padx選項(xiàng)來使得文本如你所希望的顯示出來。
b = tk.Button(f, text=longtxt, anchor=tk.W, justify=tk.LEFT, padx=2)
為了使一個(gè)普通的按鈕保持被按下的狀態(tài),例如你希望通過某種方式實(shí)現(xiàn)一個(gè)工具箱(像Photoshop左側(cè)的工具欄按鈕,按下時(shí)會保持凹下去,說明你正在使用此工具),你可以簡單的將relief選項(xiàng)的默認(rèn)值RAISED改為SUNKEN。
b.config(relief=tk.SUNKEN)
在早期版本的tkinter中,image選項(xiàng)會覆蓋text,。也就是說如果你同時(shí)指定了兩個(gè)選項(xiàng),那么只有image選項(xiàng)會被顯示。
但是新的tkinter中,你可以使用compound選項(xiàng)設(shè)置二者的混合模式。例如通過設(shè)置compound=tk.CENTER使得文字位于圖片上方。
b = tk.Button(root, text=’你過來啊’, image=photo, compound=tk.CENTER)
通過LEFT、RIGHT、TOP和BOTTOM則可以設(shè)置文字在圖像的旁邊顯示。