1

我想要做的是将一个 GUI 从一个单独的文件中的一个类链接到另一个。我的第一堂课是一个主菜单,它将显示一些链接到另一个窗口的按钮。第二类显示一个不同的窗口,但我现在遇到的问题是我不知道如何链接第一类中的按钮来调用第二类。这是我到目前为止的代码:

第一个文件,主菜单:

from tkinter import *
import prac2_link


class main:
    def __init__(self,master):
        frame = Frame(master, width=80, height=50)
        frame.pack()
        self.hello = Label(frame, text="MAIN MENU").grid()
        self.cont = Button(frame,text="Menu option 1", command=prac2_link.main2).grid(row=1)



root = Tk()
application = main(root)
root.mainloop()

第二个文件:

from tkinter import *

class main2:
    def __init__(self):
        frame1 = Frame(self, width=80, height=50)
        frame1.pack()
        self.hello = Label(frame1, text="hello, its another frame").grid(row=0,column=0)
4

1 回答 1

1

要创建新窗口,您必须使用Toplevel小部件。您可以将它用作您的班级的超main2类:

class main2(Toplevel):
    def __init__(self):
        Toplevel.__init__(self)
        self.frame= Frame(self, width=80, height=50)
        self.label = Label(self.frame, text='this is another frame')
        self.frame.grid()
        self.label.grid()

然后你只需要Button在另一个类的事件处理程序中创建一个实例:

class main1:
    def __init__(self, master):
        # ...
        self.cont = Button(frame,text="Menu option 1", command=self.open_main2).grid(row=1)
    def open_main2(self):
        prac2_link.main2()
于 2013-03-30T22:37:57.313 回答