Python Forum
[Tkinter] Tkinter classes
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Tkinter] Tkinter classes
#2
When you inherit from another class you don't call it
simply change
class Window(tk.Tk()):
to
class Window(tk.Tk):
and your code will work.

Here is an example of your previous post code with the forms as separate classes
import tkinter as tk


class MainFrame(tk.Tk):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.form1 = Form1(self, background="pink")
        self.form2 = Form2(self, background="lightblue")
        self.form2.btn.bind("<Button-1>", self.on_form2_button)

    def on_form2_button(self, event):
        print("form2 button clicked")


class Form1(tk.Frame):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.pack(fill=tk.BOTH, expand=1)
        lbl = tk.Label(self, text="Form1")
        lbl.pack(expand=1)


class Form2(tk.Frame):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.pack(fill=tk.BOTH)
        self.btn = tk.Button(self, text="Form2")
        self.btn.pack()


if __name__ == "__main__":
    main_frame = MainFrame()
    main_frame.mainloop()
Reply


Messages In This Thread
Tkinter classes - by Gupi - May-24-2019, 11:29 AM
RE: Tkinter classes - by Yoriz - May-24-2019, 12:43 PM
RE: Tkinter classes - by Gupi - May-24-2019, 05:42 PM
RE: Tkinter classes - by Yoriz - May-24-2019, 05:59 PM
RE: Tkinter classes - by Gupi - May-25-2019, 10:39 AM
RE: Tkinter classes - by Yoriz - May-26-2019, 11:59 AM
RE: Tkinter classes - by Gupi - May-26-2019, 01:38 PM
RE: Tkinter classes - by Yoriz - May-26-2019, 02:31 PM
RE: Tkinter classes - by Gupi - May-26-2019, 05:20 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Tkinter & classes Heyjoe 6 3,229 Feb-13-2021, 09:17 PM
Last Post: Heyjoe
  [Tkinter] How to create multilple tabs in tkinter from different classes Rishav 5 18,569 Jul-11-2018, 11:59 AM
Last Post: CCChris91

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020