Python Tkinter,其他类上的函数
我想了解更多关于课堂的知识。我想看看布莱恩·奥克利的例子。但是现在我遇到了一个问题,我想创建一个简单的Python Tkinter,其他类上的函数,python,tkinter,Python,Tkinter,我想了解更多关于课堂的知识。我想看看布莱恩·奥克利的例子。但是现在我遇到了一个问题,我想创建一个简单的销毁函数(在工具栏中),但只会得到错误。或者我需要在主窗口中创建所有函数 import tkinter as tk from tkinter import ttk class MainWindow(tk.Tk): def __init__(self, bg="#1f2327", fg="#c4ddf4", *args, **kwargs):
销毁
函数(在工具栏
中),但只会得到错误。或者我需要在主窗口中创建所有函数
import tkinter as tk
from tkinter import ttk
class MainWindow(tk.Tk):
def __init__(self, bg="#1f2327", fg="#c4ddf4", *args, **kwargs):
tk.Tk.__init__(self, *args, **kwargs)
self.geometry("1300x850") # Window Options
self.bg = bg
self.fg = fg
self.toolframe = Toolbar(bg=self.bg) # import classes and initialize
self.navbar = Navbar(self)
self.toolframe.toolframe.pack(ipady=5, fill="x") # place the widgets from TOOL BAR
self.navbar.navbar.pack(side="left", ipadx=40, fill="y")
class Toolbar(tk.Frame): # toolbar class
def __init__(self, bg=None, fg="#c4ddf4", hoverdark="#2b3036",
*args, **kwargs):
tk.Frame.__init__(self, *args, **kwargs)
self.bg = bg
self.fg = fg
self.hoverdark = hoverdark
self.toolframe = tk.Frame(bg=self.bg) # tool frame
self.exitstyle = ttk.Style() # set style for the exit button
self.exitstyle.theme_use("clam")
self.exitstyle.configure('EXIT.TButton', background=self.bg, foreground=self.fg, borderwidth=0,
focuscolor="none", font=("Bahnschrift", 10), width=5)
self.exitstyle.map('EXIT.TButton',
background=[("pressed", "red"), ("active", "#ff5353")]
)
self.exitbutton = ttk.Button(self.toolframe, # exit button
text="\u26CC",
style='EXIT.TButton',
command=self.closeApp #<------------------------------HERE
)
self.toolstyle = ttk.Style() # set style for min and max button
self.toolstyle.theme_use("clam")
self.toolstyle.configure('TOOL.TButton', background=self.bg, foreground=self.fg, borderwidth=0,
focuscolor="none", font=("Bahnschrift", 10), width=5)
self.toolstyle.map('TOOL.TButton',
background=[("pressed", "red"), ("active", self.hoverdark)]
)
self.maximizebutton = ttk.Button(self.toolframe, # maximize button
text="\u2610",
style="TOOL.TButton"
)
self.minimizebutton = ttk.Button(self.toolframe, # minimize button
text="\u268A",
style="TOOL.TButton")
self.exitbutton.pack(side="right", fill="y") # exit button pack
self.maximizebutton.pack(side="right", fill="y") # maximize button pack
self.minimizebutton.pack(side="right", fill="y") # minimize button pack
def closeApp(self): #<-----------------------------------------------HERE
MainWindow.destroy(self)
class Navbar(tk.Frame): # navbar class
def __init__(self, *args, **kwargs):
tk.Frame.__init__(self, *args, **kwargs)
self.navbar = tk.Frame(bg="black")
if __name__ == "__main__":
MainWindow()
tk.mainloop()
将tkinter作为tk导入
从tkinter导入ttk
类主窗口(tk.tk):
定义初始值(self,bg=“#1f2327”,fg=“#c4ddf4”,*args,**kwargs):
tk.tk.\uuuuu初始化(self,*args,**kwargs)
self.geometry(“1300x850”)#窗口选项
self.bg=bg
self.fg=fg
self.toolframe=Toolbar(bg=self.bg)#导入类并初始化
self.navbar=navbar(self)
self.toolframe.toolframe.pack(ipady=5,fill=“x”)#从工具栏中放置小部件
self.navbar.navbar.pack(side=“left”,ipadx=40,fill=“y”)
类工具栏(tk.Frame):#工具栏类
def(self,bg=None,fg=“#c4ddf4”,hoverdark=“#2b3036”,
*args,**kwargs):
tk.Frame.\uuuu init\uuuuu(self,*args,**kwargs)
self.bg=bg
self.fg=fg
self.hoverdark=hoverdark
self.toolframe=tk.Frame(bg=self.bg)#工具架
self.exitstyle=ttk.Style()#设置退出按钮的样式
自我存在方式。主题使用(“蛤蜊”)
self.exitstyle.configure('EXIT.TButton',background=self.bg,front=self.fg,borderwidth=0,
focuscolor=“无”,font=(“Bahnschrift”,10),宽度=5)
self.exitstyle.map('EXIT.TButton',
背景=[(“按下”、“红色”)、(“活动”、“ff5353”)]
)
self.exitbutton=ttk.按钮(self.toolframe,#退出按钮
text=“\u26CC”,
style='EXIT.TButton',
command=self.closeApp#尝试使用以下方法:
将tkinter作为tk导入
从tkinter导入ttk
类主窗口(tk.tk):
定义初始值(self,bg=“#1f2327”,fg=“#c4ddf4”,*args,**kwargs):
tk.tk.\uuuuu初始化(self,*args,**kwargs)
self.geometry(“1300x850”)#窗口选项
self.bg=bg
self.fg=fg
self.toolframe=Toolbar(self,bg=self.bg)#导入类并初始化
self.navbar=navbar(self)
self.toolframe.toolframe.pack(ipady=5,fill=“x”)#从工具栏中放置小部件
self.navbar.navbar.pack(side=“left”,ipadx=40,fill=“y”)
类工具栏(tk.Frame):#工具栏类
def(self,window,bg=None,fg=“#c4ddf4”,hoverdark=“#2b3036”,
*args,**kwargs):
tk.Frame.\uuuu init\uuuuu(self,window,*args,**kwargs)
self.window=window#您可以使用'tk.Frame.\uuuu init\uuuuu'设置的'self.master'
self.bg=bg
self.fg=fg
self.hoverdark=hoverdark
self.toolframe=tk.Frame(self,bg=self.bg)#工具框架
self.exitstyle=ttk.Style()#设置退出按钮的样式
自我存在方式。主题使用(“蛤蜊”)
self.exitstyle.configure('EXIT.TButton',background=self.bg,front=self.fg,borderwidth=0,
focuscolor=“无”,font=(“Bahnschrift”,10),宽度=5)
self.exitstyle.map('EXIT.TButton',
背景=[(“按下”、“红色”)、(“活动”、“ff5353”)]
)
self.exitbutton=ttk.按钮(self.toolframe,#退出按钮
text=“\u26CC”,
style='EXIT.TButton',
command=self.closeApp#在创建Toolbor
对象时,传递main窗口
对象的引用,请尝试将代码减少到a。如果您的问题是关于调用destroy
的按钮,我们只需要根窗口、按钮和稍多的代码即可使其工作。问题不是这样的这不仅仅是关于销毁(由于我的过错,下次我会更好地解释自己)。一般的问题是,我如何通过在其他类中使用此方法从一个类创建函数。在其他情况下,我可以处理它,但这种方法对我来说是新的。噢,哇…你是超级快速的xD。它帮助很大。以前从未使用过这种方法,我感到震惊…现在我用其他函数尝试了它,它工作正常。THX!@JoeMo没问题。还有我喜欢工具栏
,所以我可能会复制那些Unicode字符(\u26cc
,\u2610
,\u268a
)。我从来不知道它们的存在。如果你想要更多:。但我只知道如何在python中与“\u…”一起使用。我想在其他程序语言中你需要另一个字符串。但不是100%确定。我错过了一个“home symbol”,我总是使用\u2630,但“house symbol”看起来会更好:D.@JoeMo谢谢。我可能会用这些来改进。哦,我明白了。是的,也许会更好,但每个人都有不同的品味。对于我自己来说,当我有问题时,Unicode会更好,我想分享代码。我不需要用图像xD来强调其他人