本節簡單介紹了ttk組件基本内容,可作為ttk組件使用前導知識
ttk組件介紹
從Tk 8.5版本後,引入了ttk組件,這個模塊可以替換大部分Tkinter組件
為什麼要引入ttk組件?
原因是在Tk 8.5以前,Tkinter組件UI無法适應不同操作系統,UI所以顯得很難看,而ttk組件可以自适應不同操作系統UI風格,無需修改程序代碼,UI組件更加友好
ttk組件涵蓋一部分tkinter組件,還增加了一些新組件,同時簡化了組件設置操作
ttk組件導入
推薦如下方式導入ttk模塊:
from tkinter import ttk
ttk組件涵蓋Tkinter組件(一部分),所以ttk組件覆蓋tkinter組件使用
from tkinter import * from tkinter.ttk import *
ttk組件
ttk有17個組件,涵蓋tkinter 11個組件
新增六個組件
ttk組件不太兼容Tkinter組件,如tkinker.Label通過fg、bg參數設置前景色和背景色,而ttk.Label組件通過Style參數設置,如下示例:
# tkinter組件設置 tkinter.Label(text="Test", fg="black", bg="white") tkinter.Label(text="Test", fg="black", bg="white") # ttk組件設置 style = ttk.Style() style.configure("BW.TLabel", foreground="black", background="white") ttk.Label(text="Test", style="BW.TLabel") ttk.Label(text="Test", style="BW.TLabel")
ttk組件通用參數
所有 ttk 組件都支持的參數:
選項描述class指定窗口類,此選項隻讀,隻能在創建窗口時指定cursor指定窗口組件的鼠标光标樣式takefocus指定組件是否接受焦點,1接受焦點,0反之style指定窗口組件樣式
ttk組件狀态
ttk組件有一套狀态标記,用于指示組件的狀态,這些狀态都可以編程打開或者關閉,下表是各種狀态的含義
state描述active鼠标指針正處于控件内alternate該狀态為應用程序保留backgroundUnder Windows or MacOS, the widget is located in a window that is not the foreground window.disabled禁用控件focus控件處于聚焦狀态invalid控件的内容無效pressed控件被按下readonly隻讀selected控件被選中
ttk通用方法
.cget(option) 獲得某個屬性的值
.configure(option=value, ...) 設置某個屬性的值,如果沒有參數,它會返回一個字典,得到該組件所有屬性
.state(stateSpec=None) 獲取/設置/清空當前的狀态
最後: 有關ttk新增的組件具體使用,以後有獨立章節介紹
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!