如何在tk.toplevel类中获取信息

vawmfj5a  于 2021-08-20  发布在  Java
关注(0)|答案(1)|浏览(162)

您好,我在tk.toplevel类中遇到了关于获取函数或变量访问权限的问题,因为他需要一个父类。那么我怎样才能从那门课上获得信息呢?
我有两个.py文件:
第一个是框架核心:

import tkinter as tk

class Test2(tk.Toplevel): 
    def __init__(self, parent):
        super().__init__(parent)
        #[...]
        self.createwidg()

    def createwidg(self):
        #[...]
        pass

    def examplefunction(self):
        #[...]
        return True

class Test1(tk.Tk): 
    def __init__(self):
        super().__init__()
        #[...]
        self.createwidg()

    def createwidg(self):
        #[...]
        pass

    def openwindow(self):
        window=Test2(self)
        window.grab_set()

第二个是我将主循环帧并获取这些信息的地方。
那么,我如何访问一个函数,examplefunction,它在tk.toplevel中,但在tk.tk之外?

vfhzx4xs

vfhzx4xs1#

这与特金特无关。您需要保存对的引用 window ,然后您可以像访问任何其他python对象一样访问它。

class Test1(tk.Tk):
    ...
    def openwindow(self):
        self.window=Test2(self)
        self.window.grab_set()

    def call_examplefunction(self):
        self.window.examplefunction()

如果您需要在 Test1 ,则需要保存对的示例的引用 Test1 :

test1 = Test1(...)
...
test1.call_examplefunction()

相关问题