控件
| 控件名稱 | 說明 |
|---|---|
| Button | 按鈕控件,在程序中顯示按鈕 |
| Canvas | 畫布控件,用來畫圖形,如線條及多邊形等 |
| Checkbutton | 多選框控件,用於在程序中提供多項選擇框 |
| Entry | 輸入控件,定義-一個簡單的文字輸入字段 |
| Frame | 框架控件,定義一個窗體,以作為其他控件的容器 |
| Label | 標簽控件,定義一個文字或圖片標簽 |
| Listbox | 列表框控件,定義一個下拉方塊 |
| Menu | 菜單控件,定義一個菜單欄、下拉菜單和彈出菜單 |
| Menubutton | 菜單按鈕控件,用於顯示菜單項 |
| Message | 消息控件,定義一個對話框 |
| Radiobutton | 單選按鈕控件,定義一個單選按鈕 |
| Scale | 范圍控件,定義一個滑動條,以幫助用戶設置數值 |
| Scrollbar | 滾動條控件,定義-一個滾動條 |
| Text | Text 文本控件,定義一個文本框 |
| Topleve | 此控件與Frame控件類似,可以作為其他控件的容器。但是此控件有自己的最上層窗口,可以提供窗口管理接口 |
屬性
-
anchor
定義控件在窗口內的位置或文字信息在控件內的位置。可以是 N、NE、E、SE、S、SW、W、NW 或 CENTER
Label(anchor=N,text="測試").pack() -
background(bg)
定義控件的背景顏色,顏色值可以是顏色名稱常數,也可以是 "#rrggbb" 形式的數字。用戶可以使用 background 或 bg
Label(background="#00ff00 ", text="兩個黃鵬鳴翠柳,一行白鷺上青天。").pack () Label(bg="SystemHighlight", text="窗含西嶺千秋雪,泊東吳萬里船。").pack() -
foreground(fg)
定義控件的前景(文字)顏色,顏色值可以是表中的名稱,也可以是"#rrggbb"形式的數字。可以使用 foreground 或 fg
Label(fg="#00ff00 ", text="劍鋒無情人葬月").pack() Label(foreground="SystemHighlight", text="風花雪月").pack() -
borderwidth
定義控件的邊框寬度,單位是像素
Entry(borderwidth=10).pack() -
relief
定義控件的邊框形式。所有的控件都有邊框,不過有些控件的邊框默認是不可見的。如果是 3D 形式的邊框,那么此屬性可以是 SUNKEN、RIDGE、RAISED 或 GROOVE;如果是 2D 形式的邊框,那么此屬性可以是 FLAT 或 SOLID
Entry(relief=SOLID).pack() -
image
定義顯示在控件內的圖片文件
photo = PhotoImage(file="./1.gif", width=100, height=100) Label(self,image=photo).pack() -
command
當控件有特定的動作發生時,如單擊按鈕,此屬性定義動作發生時所調用的 Python 函數
Button(text="登錄",command=self.login).pack() -
cursor
定義當鼠標指針移到控件上時,鼠標指針的類型。可使用的鼠標指針類型有 crosshair、watch、xterm、fleur 及 arrow
Button(cursor="crosshair").pack() -
font
如果控件支持標題文字,就可以使用此屬性來定義標題文字的字體格式。此屬性是一個元組格式:(字體,大小,字體樣式),字體樣式可以是 bold、italic、underline 及 overstrike。用戶可以同時設置多個字體樣式,中間以空白隔開
Label(font=("微軟雅黑",10,"bold"),text="床前明月光").pack() Label(font=("宋體",10,"bold underline"),text="十步殺一人").pack() -
bitmap
定義顯示在控件內的 bitmap 圖片文件
-
height
如果是 Button、Label 或 Text 控件,此屬性定義以字符數目為單位的高度。其他的控件則是定義以像素 pixel 為單位的高度
Button(height=10).pack() -
highlightbackground
定義控件在沒有鍵盤焦點時,畫 hightlight 區域的顏色
-
highlightcolor
定義控件在有鍵盤焦點時,畫 hightlight 區域的顏色
-
highlightthickness
定義 hightlight 區域的寬度,以像素為單位
Entry(highlightthickness=10, highlightbackground="blue", highlightcolor="red").pack() -
justify
定義多行文字標題的排列方式,此屬性可以是 LEFT、CENTER 或 RIGHT
Label(justify=LEFT,text="床前明月光\n咦...").pack() -
padx 與 pady
定義控件內的文字或圖片與控件邊框之間的水平和垂直距離
Button(padx=20, pady=40, text="關閉").pack() -
text
定義控件的標題文字
-
width
如果是 Button、Label 或 Text 控件,此屬性定義以字符數目為單位的寬度。其他控件則是定義以像素pixel為單位的寬度
Button(width=10,text="登錄").pack() -
variable
將控件的數值映像到一個變量。當控件的數值改變時,此變量也會跟着改變。同樣地,當變量改變時,控件的數值也會跟着改變。此變量是 StringVar 類、IntVar 類、DoubleVar 類及 BooleanVar 的實例變量,這些實例變量可以分別使用 get() 與 set() 方法讀取與設置變量
gender = StringVar() gender.set("male") Radiobutton(text="男", value="male", variable=gender).pack(side="left") Radiobutton(text="女", value="female", variable=gender).pack(side="left")
