向其添加图片后,按钮停止工作

时间:2020-02-03 08:40:17

标签: python button tkinter

我只是在尝试学习如何使用python,对此还很陌生。我试图在开始或主页框架上添加一些按钮,然后按一下时,我想更改框架,然后打开一个新框架。我已经找到了解决方法。现在,我正在尝试修改代码,以便该按钮将显示为图片。一旦这样做,按钮就会停止工作。 我尝试仅在第一个按钮上执行此操作。

from tkinter import *

try:
    import Tkinter as tk

except:
    import tkinter as tk


class SampleApp(tk.Tk):
    def __init__(self):
        tk.Tk.__init__(self)
        self._frame = None
        self.switch_frame(Home)

    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 Home(tk.Frame):
    def __init__(self, master):
        tk.Frame.__init__(self, master)
        my_account = tk.Button(self,
                               command=lambda: master.switch_frame(PageOne))
        my_account.pack()
        my_account_image = PhotoImage(file="My_Account.png")
        my_account.config(image=my_account_image)
        tk.Button(self, text="Go to page two",
                  command=lambda: master.switch_frame(PageTwo)).pack()


class PageOne(tk.Frame):
    def __init__(self, master):
        tk.Frame.__init__(self, master)
        tk.Frame.configure(self, bg='blue')
        tk.Label(self, text="Page one", font=('Helvetica', 18, "bold")).pack(side="top", fill="x", pady=5)
        tk.Button(self, text="Go back to start page",
                  command=lambda: master.switch_frame(Home)).pack()


class PageTwo(tk.Frame):
    def __init__(self, master):
        tk.Frame.__init__(self, master)
        tk.Frame.configure(self, bg='red')
        tk.Label(self, text="Page two", font=('Helvetica', 18, "bold")).pack(side="top", fill="x", pady=5)
        tk.Button(self, text="Go back to start page",
                  command=lambda: master.switch_frame(Home)).pack()


if __name__ == "__main__":
    app = SampleApp()
    app.mainloop()

0 个答案:

没有答案