tkinter python自帶的gui庫,對圖形圖像處理庫tk的封裝
1.概念介紹:
組件:組成界面的構成內容就是組件(按鈕,文本輸入框,滾動條,菜單,列表)
窗口:一個軟件的矩形區域
2.界面開發最小內容:
1.導入tkinter模塊
2.創建主窗口對象
3.將創建對象加入消息循環中
3.組件的擺放方式(禁止同時使用兩種佈局)
pack() 方式 —>方向方位擺放
grid() 方式 —>網格擺放
place() 方式 —>定位擺放
a)pack()方式:
- side 設置組件相對於父組件的擺放位置(top,bottom,left,right)
- fill 按鈕充滿x/y軸(x,y,both)
- ipadx,ipady 設置組件之間的內部間距(x,y)
- padx,pady 設置多個組件之間的外部間距(x,y)
- expand 設置side是否生效(yes,no)
注意:僅僅使用pack無法實現表格方式,必須藉助後面的Frame組件纔可以實現
b) grid()方式:
- row 設置行數 默認0
- column 設置列數 默認0
- rowspan 設置跨行數量
- columnspan 設置跨列數量
- ipadx,ipady 設置組件之間的內部間距(x,y)
- padx,pady 設置多個組件之間的外部間距(x,y)
c) place()方式:
兩組屬性,不可混用
-
絕對定位:
x 設置距離左上角的水平長度 px
y 設置距離左上角的垂直高度 px
width 設置組件所佔據的寬度 px
height 設置組件所佔據的高度 px -
相對定位:
relx 設置距離左上角的水平長度(取值0~1)
rely 設置距離左上角的垂直高度(取值0~1)
relwidth 設置組件所佔據的寬度(取值0~1)
relheight 設置組件所佔據的高度(取值0~1)
以上屬性都是相對於界面(父)的寬高百分比,而且可以根據界面大小變化而變化
4.按鈕組件基本屬性tkinter.Button:
-
字體font:
按照元組()形式寫入參數列表,亦有tkFont模塊,tkinter.font -
背景顏色bg:
單詞/16進制 -
錨點anchor:
八個方位帶center(n,nw,s,sw,e,ne,se,w) -
三維效果relief:
設置按鍵凸起,凹陷效果(flat,groove,raised,sunken,ridge) -
位圖bitmap(x位圖):
有(error,gray75,gray50,gray25,gray12,hourglass,info,questhead,question,warning…)
亦可使用自帶的.xbm格式圖,使用@後跟.xbm文件路徑
5.鼠標cursor:
鼠標放上"對象界面"(按鍵/整個窗口)後所顯示形狀,具體圖形見文檔,例如heart
- 圖片:
- 雙色位圖.xbm使用BitmapImage類
tkinter.BitmapImage(file=f, [background=b], [foreground=c])
log = tkinter.BitmapImage(“log.xbm”, foreground=“red”)
標籤(圖像=標誌).grid() - 彩色.gif/.pgm/.ppm使用PhotoImage類
img = tkinter.Image(file)
tkinter.Button(root, image=img) - PIL(Python Imaging Library)支持多種格式圖像,ImageTk類
- 雙色位圖.xbm使用BitmapImage類
多行文本對齊justify:
多行文本對齊(center,left,right)
-
狀態state:
- disable按鍵不可點擊(灰色) tkinter.DISABLE
- active鼠標懸停時有值 tkinter.ACTIVE
- 默認是normal tkinter.NORMAL
-
邊框粗細bd:
加數字就行了