tkinter屬性(總結)


一、主要控件

1.Button 按鈕。類似標簽,但提供額外的功能,例如鼠標掠過、按下、釋放以及鍵盤操作事件

2.Canvas 畫布。提供繪圖功能(直線、橢圓、多邊形、矩形) 可以包含圖形或位圖

3.Checkbutton 選擇按鈕。一組方框,可以選擇其中的任意個(類似HTML 中的checkbox)

4.Entry 文本框。單行文字域,用來收集鍵盤輸入(類似HTML中的text)

5.Frame 框架。包含其他組件的純容器

6.Label 標簽。用來顯示文字或圖片

7.Listbox 列表框。一個選項列表,用戶可以從中選擇

8.Menu 菜單。點下菜單按鈕后彈出的一個選項列表,用戶可以從中選擇

9.Menubutton 菜單按鈕。用來包含菜單的組件(有下拉式、層疊式等等)

10.Message 消息框。類似於標簽,但可以顯示多行文本

11.Radiobutton 單選按鈕。一組按鈕,其中只有一個可被“按下” (類似 HTML 中的radio)

12.Scale 進度條。線性“滑塊”組件,可設定起始值和結束值,會顯示當前位置的精確值

13.Scrollbar 滾動條。對其支持的組件(文本域、畫布、列表框、文本框)提供滾動功能

14.Text 文本域。多行文字區域,可用來收集(或顯示)用戶輸入的文字(類似 HTML 中的 textarea)

15.Toplevel 頂級。類似框架,但提供一個獨立的窗口容器。

來源百度文庫:https://wenku.baidu.com/view/ce748baaf242336c1fb95e33.html

 

二、其他具體屬性

 1、使用tkinter.Tk() 生成主窗口(root=tkinter.Tk());
root.title('標題名')         修改框體的名字,也可在創建時使用className參數來命名;
root.resizable(0,0)        框體大小可調性,分別表示x,y方向的可變性;
root.geometry('250x150')  指定主框體大小;
root.quit()                退出;
root.update_idletasks()
root.update()             刷新頁面

2、組件的放置和排版(pack,grid,place)

pack組件設置位置屬性參數:
    after:        將組件置於其他組件之后;
    before:       將組件置於其他組件之前;
    anchor:        組件的對齊方式,頂對齊'n',底對齊's',左'w',右'e'
    side:        組件在主窗口的位置,可以為'top','bottom','left','right'(使用時tkinter.TOP,tkinter.E);
    fill            填充方式 (Y,垂直,X,水平)
    expand          1可擴展,0不可擴展
grid組件使用行列的方法放置組件的位置,參數有:
    column:         組件所在的列起始位置;
    columnspam:     組件的列寬;
    row:         組件所在的行起始位置;
    rowspam:      組件的行寬;
place組件可以直接使用坐標來放置組件,參數有:
    anchor:       組件對齊方式;
    x:            組件左上角的x坐標;
    y:             組件右上角的y坐標;
    relx:          組件相對於窗口的x坐標,應為0-1之間的小數;
    rely:           組件相對於窗口的y坐標,應為0-1之間的小數;
    width:          組件的寬度;
    heitht:        組件的高度;
    relwidth:       組件相對於窗口的寬度,0-1;
    relheight:     組件相對於窗口的高度,0-1;

3、使用tkinter.Button時控制按鈕的參數:

    anchor:            指定按鈕上文本的位置;
    background(bg)       指定按鈕的背景色;
    bitmap:            指定按鈕上顯示的位圖;
    borderwidth(bd)    指定按鈕邊框的寬度;
    command:          指定按鈕消息的回調函數;
    cursor:            指定鼠標移動到按鈕上的指針樣式;
    font:               指定按鈕上文本的字體;
    foreground(fg)     指定按鈕的前景色;
    height:            指定按鈕的高度;
    image:             指定按鈕上顯示的圖片;
    state:              指定按鈕的狀態(disabled);
    text:               指定按鈕上顯示的文本;
    width:             指定按鈕的寬度
    padx               設置文本與按鈕邊框x的距離,還有pady;
    activeforeground    按下時前景色
    textvariable        可變文本,與StringVar等配合着用

4、文本框tkinter.Entry,tkinter.Text控制參數:

    background(bg)      文本框背景色;
    foreground(fg)        前景色;
    selectbackground    選定文本背景色;
    selectforeground    選定文本前景色;
    borderwidth(bd)      文本框邊框寬度;
    font                 字體;
    show                文本框顯示的字符,若為*,表示文本框為密碼框;
    state               狀態;
    width              文本框寬度
    textvariable        可變文本,與StringVar等配合着用

5、標簽tkinter.Label組件控制參數:

    Anchor            標簽中文本的位置;
    background(bg)    背景色;
    foreground(fg)      前景色;
    borderwidth(bd)     邊框寬度;
    width             標簽寬度;
    height            標簽高度;
    bitmap             標簽中的位圖;
    font               字體;
    image             標簽中的圖片;
    justify            多行文本的對齊方式;
    text             標簽中的文本,可以使用'\n'表示換行
    textvariable       顯示文本自動更新,與StringVar等配合着用

6、單選框和復選框Radiobutton,Checkbutton控制參數:

    anchor           文本位置;
    background(bg)   背景色;
    foreground(fg)    前景色;
    borderwidth       邊框寬度;
    width            組件的寬度;
    height           組件高度;
    bitmap           組件中的位圖;
    image            組件中的圖片;
    font             字體;
    justify          組件中多行文本的對齊方式;
    text             指定組件的文本;
    value            指定組件被選中中關聯變量的值;
    variable          指定組件所關聯的變量;
    indicatoron        特殊控制參數,當為0時,組件會被繪制成按鈕形式;
    textvariable       可變文本顯示,與StringVar等配合着用

7、組圖組件Canvas控制參數

    background(bg)      背景色;
    foreground(fg)       前景色;
    borderwidth       組件邊框寬度;
    width             組件寬度;
    height             高度;
    bitmap             位圖;
    image             圖片;
繪圖的方法主要以下幾種:
    create_arc          圓弧;
    create_bitmap      繪制位圖,支持XBM;
    create_image       繪制圖片,支持GIF(x,y,image,anchor);
    create_line         繪制支線;
    create_oval;        繪制橢圓;
    create_polygon     繪制多邊形(坐標依次羅列,不用加括號,還有參數,fill,outline);
    create_rectangle   繪制矩形((a,b,c,d),值為左上角和右下角的坐標);
    create_text         繪制文字(字體參數font,);
    create_window      繪制窗口;
    delete              刪除繪制的圖形;
    itemconfig          修改圖形屬性,第一個參數為圖形的ID,后邊為想修改的參數;
    move               移動圖像(1,4,0),1為圖像對象,4為橫移4像素,0為縱移像素,然后用root.update()刷新即可看到圖像的移動,為了使多次移動變得可視,最好加上time.sleep()函數;
    只要用create_方法畫了一個圖形,就會自動返回一個ID,創建一個圖形時將它賦值給一個變量,需要ID時就可以使用這個變量名。
    coords(ID)          返回對象的位置的兩個坐標(4個數字元組);

對於按鈕組件、菜單組件等可以在創建組件時通過command參數指定其事件處理函數。方法為bind;或者用bind_class方法進行類綁定,bind_all方法將所有組件事件綁定到事件響應函數上。

 8、菜單Menu

參數: 
    tearoff          分窗,0為在原窗,1為點擊分為兩個窗口
    bg,fg           背景,前景
    borderwidth      邊框寬度
    font              字體
    activebackgound   點擊時背景,同樣有activeforeground,activeborderwidth,disabledforeground
    cursor
    postcommand
    selectcolor      選中時背景
    takefocus
    title       
    type
    relief
   
方法:
    menu.add_cascade      添加子選項
    menu.add_command      添加命令(label參數為顯示內容)
    menu.add_separator    添加分隔線
    menu.add_checkbutton  添加確認按鈕
    delete                刪除

 9、事件關聯

bind(sequence,func,add)——
bind_class(className,sequence,func,add)
bind_all(sequence,func,add)
事件參數:  
sequence              所綁定的事件;
func                   所綁定的事件處理函數;
add                    可選參數,為空字符或‘+’;
className             所綁定的類;

鼠標鍵盤事件
    <Button-1>            鼠標左鍵按下,2表示中鍵,3表示右鍵;
    <ButtonPress-1>        同上;
    <ButtonRelease-1>    鼠標左鍵釋放;
    <B1-Motion>           按住鼠標左鍵移動;
    <Double-Button-1>     雙擊左鍵;
    <Enter>               鼠標指針進入某一組件區域;
    <Leave>               鼠標指針離開某一組件區域;
    <MouseWheel>         滾動滾輪;
    <KeyPress-A>         按下A鍵,A可用其他鍵替代;
    <Alt-KeyPress-A>      同時按下alt和A;alt可用ctrl和shift替代;
    <Double-KeyPress-A>    快速按兩下A;
    <Lock-KeyPress-A>     大寫狀態下按A;
   
窗口事件
    Activate             當組件由不可用轉為可用時觸發;
    Configure            當組件大小改變時觸發;
    Deactivate          當組件由可用轉變為不可用時觸發;
    Destroy              當組件被銷毀時觸發;
    Expose              當組件從被遮擋狀態中暴露出來時觸發;
    Unmap              當組件由顯示狀態變為隱藏狀態時觸發;
    Map                  當組件由隱藏狀態變為顯示狀態時觸發;
    FocusIn              當組件獲得焦點時觸發;
    FocusOut            當組件失去焦點時觸發;
    Property             當窗體的屬性被刪除或改變時觸發;
    Visibility           當組件變為可視狀態時觸發;

響應事件
event對象(def function(event)):
    char                按鍵字符,僅對鍵盤事件有效;
    keycode            按鍵名,僅對鍵盤事件有效;
    keysym             按鍵編碼,僅對鍵盤事件有效;
    num                鼠標按鍵,僅對鼠標事件有效;
    type                 所觸發的事件類型;
    widget               引起事件的組件;
    width,heigh        組件改變后的大小,僅Configure有效;
    x,y                鼠標當前位置,相對於窗口;
    x_root,y_root       鼠標當前位置,相對於整個屏幕

10、彈窗

messagebox._show函數的控制參數:
    default         指定消息框按鈕;
    icon            指定消息框圖標;
    message        指定消息框所顯示的消息;
    parent          指定消息框的父組件;
    title           標題;
    type            類型;

simpledialog模塊參數:
    title           指定對話框的標題;
    prompt         顯示的文字;
    initialvalue    指定輸入框的初始值;

  filedialog    模塊參數:
    filetype       指定文件類型;
    initialdir     指定默認目錄;
    initialfile    指定默認文件;
    title         指定對話框標題

colorchooser模塊參數:
    initialcolor    指定初始化顏色;
    title           指定對話框標題;

11、字體(font)
 一般格式:
('Times -10 bold')
('Times',10,'bold','italic')    依次表示字體、字號、加粗、傾斜

附1:tkinter中的顏色

 

第二部分copy原文中部分,來自:https://www.cnblogs.com/aland-1415/p/6849193.html


免責聲明!

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



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