为了账号安全,请及时绑定邮箱和手机立即绑定

从另一个脚本中调用主程序中的类

从另一个脚本中调用主程序中的类

慕沐林林 2021-10-26 10:24:18
因为我的 python 脚本变得很大,所以我将它拆分为多个文件。然后我将needet文件导入到我的主文件中。然后我想从包含的文件中打开一个在主文件中定义的类。但它总是告诉我主文件中定义的类没有定义。这是主文件:try:     import Tkinter as tkexcept ImportError:     import tkinter as tktry:     import ttk     py3 = Falseexcept ImportError:     import tkinter.ttk as ttk     py3 = True# page classes import   from travel import PageTravelfrom contact import PageContactfrom dangers import PageDangers#Main Window wird gestartet.class PTools(tk.Tk):    def __init__(self):        tk.Tk.__init__(self)        #self.geometry("%dx%d"%(self.winfo_screenwidth()-200,self.winfo_screenheight()-200))        self._frame = None                self.switch_frame(StartPage)    def switch_frame(self, frame_class):        """Destroys current frame and replaces it with a new one."""        new_frame = frame_class(self)        if self._frame is not None:            self._frame.destroy()        self._frame = new_frame        self._frame.pack(anchor='center')    class StartPage(ttk.Frame):    def __init__(self, master):              s=ttk.Style()        s.theme_use('winnative')        ttk.Frame.__init__(self, master)        #Frames werden geöffnet.        alles=ttk.Frame(self)        alles.pack(padx=100)        version=ttk.Frame(self)        version.pack(anchor='e')        self.button1 =ttk.Button(alles, text ="Test1",command=lambda: master.switch_frame(PageTravel),width=50) #command linked        self.button1.pack()        self.button2=ttk.Button(alles, text ="Test2",command=lambda: master.switch_frame(PageDangers),width=50)        self.button2.pack()        self.button4=ttk.Button(alles, text ="Test3",command=lambda: master.switch_frame(PageContact),width=50)        self.button4.pack()if __name__ == "__main__":    app = PTools()    app.mainloop()如您所见,我导入了 PageTravel、PageContact 和 PageDanger。同样在这个定义中,我定义了类 StartPage。这是按下按钮时调用的 PageContact:现在这是一个完全不同的文件,我可以调用它,因为我导入了它。然后我尝试通过再次调用“StartPage”返回到 MainPage。但在这里它告诉我起始页未知。当我尝试导入起始页时from mainfile import StartPage它不起作用。
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 195 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号