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