问题描述
我在 tkinter 应用程序中使用 TTK 按钮,它们显示为旧的 TK 按钮。我不知道为什么,但我想知道如何解决它,以及它为什么会发生。该应用程序是基本的,所以如果有人可以帮助我,我将很高兴得到帮助。 这是我的代码,它只是一些有趣的 EA 笑话应用程序:
import tkinter
import tkinter as ttk
from tkinter import messageBox
class func(ttk.Frame):
global ok
def ok():
modlabel.destroy()
button2 = ttk.Button(ea,text="About",command=appear,cursor="hand2")
button2.pack()
okbtn.destroy()
messageBox.showinfo("Notifications","Your cpu temperature has exceeded 8125℃ \nProlonged use at this temperature may shorten the cpu's lifespan.")
global appear
def appear():
global modlabel
modlabel = ttk.Label(ea,text="Welcome. EA,Electronic Arts Inc. is an American video game company headquartered in Redwood City,California. \nIt is the second-largest gaming company in the Americas and Europe by revenue and market capitalization after \nActivision Blizzard and ahead of Take-Two Interactive,CD Projekt,and Ubisoft as of May 2020.")
modlabel.pack()
button.destroy()
global okbtn
okbtn = ttk.Button(ea,text="OK",command=ok)
okbtn.pack()
class app(ttk.Frame):
global ea
ea = ttk.Tk()
ea.title("EA")
ea.geometry("620x300")
global button
button = ttk.Button(ea,cursor="hand2")
moneylabel = ttk.Label(ea,text=" 99$ 69$ 100$")
moneylabel.pack()
button.pack()
ea.mainloop()
解决方法
您的代码未导入 ttk
模块。以下行仅导入 tkinter
并使用 ttk
作为其别名:
import tkinter as ttk
要导入 ttk
模块,请使用:
from tkinter import ttk
之后,您还需要将 ttk.Tk()
更改为 tkinter.Tk()
。
还要注意,你定义这两个类的方式是不正确的。