一、介紹
Graphical User Interface, 簡稱 GUI,是指採用圖形方式顯示應用程序的程序界面,用戶可以通過滑鼠、鍵盤等與應用程序進行直接交互。
在 Python 中,使用 Tkinter、wxPython、PyQt 等 GUI 工具包可以輕鬆實現界面開發。其中,Tkinter 是 Python 自帶的庫,由於自帶,使用更加簡單方便。但 Tkinter 常常不能很好的滿足開發者的界面需求,因此,ttk 模塊的出現解決了許多 Tkinter 難以解決的問題。
ttk 和 Tkinter 一樣,也是 Python 自帶的 GUI 工具包,可以方便快捷地實現各種界面。ttk 補充了 Tkinter 的不足,提供了諸如更好的控制項樣式定製、平滑滾動條、繪製能力等功能,還擁有全新的卡片、樹形控制項等。
二、控制項
ttk 模塊提供了大量的控制項,這些控制項都是基於 Tkinter 的。以下是一些常用的控制項:
- Button
- Label
- Entry
- Frame
- Checkbutton
- Combobox
- Progressbar
- Treeview
三、控制項樣式定製
ttk 獨有的控制項樣式定製方式是通過 style 類實現的。ttk.Widget 對象是 ttk 控制項的父類,所以只需要綁定一個 style 就可以應用到整個窗口中。
from tkinter import *
from tkinter import ttk
root = Tk()
style = ttk.Style()
style.configure("TButton", font=("華文彩雲", 12), foreground="black")
button = ttk.Button(root, text="Hello,world!", style="TButton")
button.pack()
root.mainloop()
上面的代碼使用 TButton 樣式對按鈕進行了樣式定製,其中設置了按鈕的字體為「華文彩雲」,字體大小為 12px,字體顏色為黑色。
四、創建樹形控制項
樹形控制項是指具有層級關係的控制項,這些控制項包含多個選擇器,以父子節點關係相互鏈接。在 ttk 中,我們可以使用 Treeview 來創建一個樹形控制項。
from tkinter import *
from tkinter import ttk
root = Tk()
root.title("Treeview Widget")
tree = ttk.Treeview(root)
tree.pack()
tree.insert("", "0", "item1", text="Item 1")
tree.insert("", "1", "item2", text="Item 2")
tree.insert("item1", "end", "item3", text="Sub Item 1")
tree.insert("item2", "end", "item4", text="Sub Item 2")
root.mainloop()
上面的代碼創建了一個簡單的樹形控制項,其中包含兩個父節點 Item 1 和 Item 2,以及各自的子節點 Sub Item 1 和 Sub Item 2。其中的 insert 方法中,”” 表示父節點,”0″, “1” 表示父節點的索引,”end” 表示子節點在父節點後添加。
五、小結
通過 Python ttk 組件,開發者可以在 Python 程序中快速開發美觀、實用的 GUI 界面。掌握 ttk 控制項的使用,我們可以開發各種各樣的工具和應用程序。
原創文章,作者:DKRX,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/147262.html