一、主要控制元件
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