tkinter屬性(總結)

Tynam.Yang發表於2018-04-10

一、主要控制元件

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

相關文章