繁体   English   中英

使用 Tkinter 正确使用 MVC 模式的多个窗口

[英]Correct use of multiple windows for MVC pattern with Tkinter

我正在尝试制作一个带有 GUI 的 Python 程序,其中各种动画将显示在画布上。 我决定使用 MVC 模式和 Tkinter。 启动我的程序时,应弹出一个窗口,您必须在显示 GUI 之前选择画布的尺寸。

在此处输入图片说明

但是,我找不到一种有效的方法来做到这一点。 我尝试过 Dialog、Toplevel、Frame 等,但由于我使用的是 MVC 模式,如果在设置窗口之后打开此 GUI 窗口,我无法找到如何将我的控制器功能与我的 GUI 链接,因为它尚未实例化.

在此处输入图片说明

class View(tk.Tk):
    def __init__(self):
        tk.Tk.__init__(self)

        self.setting_window = SettingWindow(self)
        self.setting_window.ok_button.configure(command=self.open_editor)
        self.withdraw()
        self.mainloop()

    def open_editor(self):
        map_dim = self.setting_window.getValues()
        self.editor_window = Window(self, map_dim)
        self.setting_window.destroy()

我发现解决这个问题的方法是创建一个窗口Tk()并只是解包和打包不同的框架。 我想这不是最好的方法,但它奏效了!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM