Tkinter常用控件及屬性


控件

控件名稱 說明
Button 按鈕控件,在程序中顯示按鈕
Canvas 畫布控件,用來畫圖形,如線條及多邊形等
Checkbutton 多選框控件,用於在程序中提供多項選擇框
Entry 輸入控件,定義-一個簡單的文字輸入字段
Frame 框架控件,定義一個窗體,以作為其他控件的容器
Label 標簽控件,定義一個文字或圖片標簽
Listbox 列表框控件,定義一個下拉方塊
Menu 菜單控件,定義一個菜單欄、下拉菜單和彈出菜單
Menubutton 菜單按鈕控件,用於顯示菜單項
Message 消息控件,定義一個對話框
Radiobutton 單選按鈕控件,定義一個單選按鈕
Scale 范圍控件,定義一個滑動條,以幫助用戶設置數值
Scrollbar 滾動條控件,定義-一個滾動條
Text Text 文本控件,定義一個文本框
Topleve 此控件與Frame控件類似,可以作為其他控件的容器。但是此控件有自己的最上層窗口,可以提供窗口管理接口

屬性

  1. anchor

    定義控件在窗口內的位置或文字信息在控件內的位置。可以是 N、NE、E、SE、S、SW、W、NW 或 CENTER

    Label(anchor=N,text="測試").pack()
    
  2. background(bg)

    定義控件的背景顏色,顏色值可以是顏色名稱常數,也可以是 "#rrggbb" 形式的數字。用戶可以使用 background 或 bg

    Label(background="#00ff00 ", text="兩個黃鵬鳴翠柳,一行白鷺上青天。").pack ()
    Label(bg="SystemHighlight", text="窗含西嶺千秋雪,泊東吳萬里船。").pack()
    
  3. foreground(fg)

    定義控件的前景(文字)顏色,顏色值可以是表中的名稱,也可以是"#rrggbb"形式的數字。可以使用 foreground 或 fg

    Label(fg="#00ff00 ", text="劍鋒無情人葬月").pack()
    Label(foreground="SystemHighlight", text="風花雪月").pack()
    
  4. borderwidth

    定義控件的邊框寬度,單位是像素

    Entry(borderwidth=10).pack()
    
  5. relief

    定義控件的邊框形式。所有的控件都有邊框,不過有些控件的邊框默認是不可見的。如果是 3D 形式的邊框,那么此屬性可以是 SUNKEN、RIDGE、RAISED 或 GROOVE;如果是 2D 形式的邊框,那么此屬性可以是 FLAT 或 SOLID

    Entry(relief=SOLID).pack()
    
  6. image

    定義顯示在控件內的圖片文件

    photo = PhotoImage(file="./1.gif", width=100, height=100)
    Label(self,image=photo).pack()
    
  7. command

    當控件有特定的動作發生時,如單擊按鈕,此屬性定義動作發生時所調用的 Python 函數

    Button(text="登錄",command=self.login).pack()
    
  8. cursor

    定義當鼠標指針移到控件上時,鼠標指針的類型。可使用的鼠標指針類型有 crosshair、watch、xterm、fleur 及 arrow

    Button(cursor="crosshair").pack()
    
  9. font

    如果控件支持標題文字,就可以使用此屬性來定義標題文字的字體格式。此屬性是一個元組格式:(字體,大小,字體樣式),字體樣式可以是 bold、italic、underline 及 overstrike。用戶可以同時設置多個字體樣式,中間以空白隔開

    Label(font=("微軟雅黑",10,"bold"),text="床前明月光").pack()
    Label(font=("宋體",10,"bold underline"),text="十步殺一人").pack()
    
  10. bitmap

    定義顯示在控件內的 bitmap 圖片文件

  11. height

    如果是 Button、Label 或 Text 控件,此屬性定義以字符數目為單位的高度。其他的控件則是定義以像素 pixel 為單位的高度

    Button(height=10).pack()
    
  12. highlightbackground

    定義控件在沒有鍵盤焦點時,畫 hightlight 區域的顏色

  13. highlightcolor

    定義控件在有鍵盤焦點時,畫 hightlight 區域的顏色

  14. highlightthickness

    定義 hightlight 區域的寬度,以像素為單位

    Entry(highlightthickness=10, highlightbackground="blue", highlightcolor="red").pack()
    
  15. justify

    定義多行文字標題的排列方式,此屬性可以是 LEFT、CENTER 或 RIGHT

    Label(justify=LEFT,text="床前明月光\n咦...").pack()
    
  16. padx 與 pady

    定義控件內的文字或圖片與控件邊框之間的水平和垂直距離

    Button(padx=20, pady=40, text="關閉").pack()
    
  17. text

    定義控件的標題文字

  18. width

    如果是 Button、Label 或 Text 控件,此屬性定義以字符數目為單位的寬度。其他控件則是定義以像素pixel為單位的寬度

    Button(width=10,text="登錄").pack()
    
  19. 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")
    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM