我正在学习所有关于Python类的知识,并且我有很多理由可以覆盖.我遇到了一个让我有点困惑的例子.
这些是父类
Class X
Class Y
Class Z
Run Code Online (Sandbox Code Playgroud)
儿童班是:
Class A (X,Y)
Class B (Y,Z)
Run Code Online (Sandbox Code Playgroud)
孙子课是:
Class M (A,B,Z)
Run Code Online (Sandbox Code Playgroud)
没有Class M继承Class Z,通过继承Class B或会的原因是什么这种类型的结构?Class M只会忽略第二次Class Z继承不会,或者我错过了什么?
我见过许多grab_set() 用于 tkinter 模态窗口的示例,但我无法让它适用于我的应用程序。我正在创建第二个窗口作为我的“设置”窗口,该窗口是从主应用程序的菜单中调用的。
例子:
import tkinter as tk
class Main(tk.Tk):
def __init__(self,*args, **kwargs):
tk.Tk.__init__(self,*args, *kwargs)
button = tk.Button(self,text="second window", command=lambda:Settings())
button.pack()
class Settings(tk.Tk):
def __init__(self,*args, **kwargs):
tk.Tk.__init__(self,*args, *kwargs)
button = tk.Button(self,text="quit", command=lambda: quit())
button.pack()
self.grab_set()
if __name__ == "__main__":
app = Main()
app.mainloop()
Run Code Online (Sandbox Code Playgroud)
现在我仍然可以单击“设置”按钮来创建Settings电脑允许的尽可能多的实例。如何限制主应用程序窗口的可点击性,直到第二个窗口先关闭?