Python tkinter import ttk
from tkinter import *
root=Tk()
root.title("Tk GUI")
label=Label(root, text="Hello World!")
count=0
def clickOK():
global count
count=count + 1
label.configure(text="Click OK " + str(count) + " times")
button=Button(root, text="OK", command=clickOK)
label.pack()
button.pack()
root.mainloop()
上面範例中的按鈕看起來似乎不是那麼好看, 所以 Tkinter 後來又推出了加強版的 ttk 模組來美化元件的外觀, 這 ttk 意思是 Themed Tkinter, 亦即主題化版本, 參考 :
# https://docs.python.org/2/library/ttk.html
from tkinter import ttk (建議)
或
from tkinter.ttk import * (不建議)
將上面範例用 ttk 改寫如下 :
from tkinter import *
from tkinter.ttk import *
root=Tk()
root.title("ttk GUI")
label=Label(root, text="Hello World!")
count=0
def clickOK():
global count
count=count + 1
label.config(text="Click OK " + str(count) + " times")
button=Button(root, text="OK", command=clickOK)
label.pack()
button.pack()
root.mainloop()
可見按鈕真的變漂亮了!
上面範例使用 star import 共用命名空間不容易 debug, 建議用下面寫法 :
import tkinter as tk
from tkinter import ttk
root=tk.Tk()
root.title("ttk GUI")
label=ttk.Label(root, text="Hello World!")
count=0
def clickOK():
global count
count=count + 1
label.config(text="Click OK " + str(count) + " times")
button=ttk.Button(root, text="OK", command=clickOK)
label.pack()
button.pack()
root.mainloop()
root=Tk()
root.title("Tk GUI")
label=Label(root, text="Hello World!")
count=0
def clickOK():
global count
count=count + 1
label.configure(text="Click OK " + str(count) + " times")
button=Button(root, text="OK", command=clickOK)
label.pack()
button.pack()
root.mainloop()
# https://docs.python.org/2/library/ttk.html
此 ttk 模組包含了 17 種元件, 其中的 11 種是 Tkinter 原本已經有的 :
- Label
- Button
- Radiobutton
- Checkbutton
- Entry
- Frame
- Labelframe
- Menubutton
- Scale
- Scrollbar
- Panedwindow
另外 6 個是 ttk 推出的新元件 :
- Combobox
- Notebook
- Progressbar
- Separator
- Sizegrip
- Treeview
注意, ttk 須在匯入 tkinter 後才能匯入, 這樣才會蓋掉原來的 tkinter 元件 :
from tkinter import ttk (建議)
或
from tkinter.ttk import * (不建議)
將上面範例用 ttk 改寫如下 :
from tkinter import *
from tkinter.ttk import *
root=Tk()
root.title("ttk GUI")
label=Label(root, text="Hello World!")
count=0
def clickOK():
global count
count=count + 1
label.config(text="Click OK " + str(count) + " times")
button=Button(root, text="OK", command=clickOK)
label.pack()
button.pack()
root.mainloop()
可見按鈕真的變漂亮了!
上面範例使用 star import 共用命名空間不容易 debug, 建議用下面寫法 :
import tkinter as tk
from tkinter import ttk
root=tk.Tk()
root.title("ttk GUI")
label=ttk.Label(root, text="Hello World!")
count=0
def clickOK():
global count
count=count + 1
label.config(text="Click OK " + str(count) + " times")
button=ttk.Button(root, text="OK", command=clickOK)
label.pack()
button.pack()
root.mainloop()
留言
張貼留言