如何解决无法将 ttk 主题应用于 .toplevel()
我正在尝试重新创建一个 slasph 屏幕,该屏幕在 tkinter 和 python 3 的菜单栏上兼作关于屏幕。
到目前为止,我已经读到我应该在第二个 Toplevel()
上使用 splash_root
方法,但它只是向我发送错误 name 'Toplevel' is not defined
。
我是否在这里遗漏了一些基本内容,或者只是误解了 Toplevel()
的工作原理?
import tkinter as tk
import tkinter.ttk as ttk
from PIL import ImageTk,Image
from ttkthemes import ThemedTk
def splash_screen():
splash_root = Toplevel(root)
splash_root.geometry("500x400")
img_title = ImageTk.PhotoImage(Image.open("art/icons/random.png"))
lbl_img_title = ttk.Label(splash_root,image=img_title)
lbl_img_title.pack(side="top",pady=20)
splash_label_by = ttk.Label(splash_root,text="name")
splash_button = ttk.Button(splash_root,text="close",command=lambda: splash_root.destroy())
splash_label_by.pack(pady=20,padx=20)
splash_button.pack(ipadx=10,ipady=10)
splash_screen()
root = ThemedTk(themebg=True)
root.set_theme('black')
root.title("splash")
root.geometry("500x500")
root.mainloop()
解决方法
问题的答案:
#Toplevel(root) is not defined
tk.Toplevel(root) #will solve your Toplevel problem.
如果你打电话 飞溅屏幕() 在声明 root 之前,将不会定义 root 并且您的代码仍然无法工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。