我想使用tkinter在python中触发时初始化Frame

时间:2019-11-18 10:21:03

标签: python user-interface tkinter

我不知道为什么我的代码不起作用。我不能很好地解释,因为我不会英语。

我想在发生触发但此代码不起作用时初始化Frame

  1. 1.png存在
  2. Circle类只是捕获并保存图像类。
    class SampleApp(tk.Tk):
        def __init__(self):

            tk.Tk.__init__(self)
            self._frame = None
            self.geometry('650x500')
            self.title("Zzz")
            self.resizable(width=True, height=True);
            self.switch_frame(StartPage)

        def switch_frame(self, frame_class):
            new_frame = frame_class(self)

            if self._frame is not None:                   # 현재 프레임이 있다면
                self._frame.destroy()                     # 프레임 제거
            self._frame = new_frame                   # 프레임 교채
            self._frame.pack()



                class ExePage(tk.Frame):                        
                    def __init__(self, master):
                        if is_Settinged==True:
                            tk.Frame.__init__(self, master)

                            b1=tk.Button(self,text="increase check", command=inc)

                            back_button = tk.Button(self, text="back home",
                                                     command=lambda: master.switch_frame(StartPage))

                            self.imgObj = PhotoImage(file='tmp/1.png')
                            img_label = Label(self,image= self.imgObj)
                            text_label = tk.Label(self, text= GetCount()+ " , :"+GetSize())

                            img_label.pack(side="top", fill="x", pady=10)
                            text_label.pack()
                            back_button.pack(side="left")
                            b1.pack(side="right")
                            self.run()
                 def run(self):
                    while (1):
                        inputNum = ard.readline()
                        inputNumTrans = inputNum[:-2].decode()

                        if inputNumTrans == '0':
                            c = Circles()
                            global gcount
                            gcount = gcount + 1
                            cv.imwrite('tmp/1.png', c.img_f)
                            self.master.switch_frame(ExePage) 

0 个答案:

没有答案