Wie macht man eine variable Basisklasse?

Fragen zu Tkinter.
Antworten
Alfons Mittelmeyer
User
Beiträge: 1715
Registriert: Freitag 31. Juli 2015, 13:34

Das funktioniert nicht:

Code: Alles auswählen

# -*- coding: utf-8 -*-

try:
    import tkinter as tk
except ImportError:
    import Tkinter as tk


class basebuttonclass_existing(tk.Button):

    def __init__(self,master,**kwargs):
        tk.Button.__init__(self,master,**kwargs)

basebuttonclass = basebuttonclass_existing


class Application(tk.Tk):

    def __init__(self,**kwargs):
        tk.Tk.__init__(self,**kwargs)
        # widget definitions ===================================
        self.button = buttonclass(self)
        self.button.pack()

class buttonclass(basebuttonclass):

    def __init__(self,master,**kwargs):
        basebuttonclass.__init__(self,master,**kwargs)

if __name__ == '__main__':
    Application().mainloop()
Sorry, hat sich erledigt, ich hatte nur gedacht, dass es nicht funktioniert. Aber ich hatte nur den Text vergessen:

Code: Alles auswählen

# -*- coding: utf-8 -*-

try:
    import tkinter as tk
except ImportError:
    import Tkinter as tk


class basebuttonclass_existing(tk.Button):

    def __init__(self,master,**kwargs):
        tk.Button.__init__(self,master,**kwargs)

basebuttonclass = basebuttonclass_existing


class Application(tk.Tk):

    def __init__(self,**kwargs):
        tk.Tk.__init__(self,**kwargs)
        # widget definitions ===================================
        self.button = buttonclass(self)
        self.button.pack()

class buttonclass(basebuttonclass):

    def __init__(self,master,**kwargs):
        basebuttonclass.__init__(self,master,**kwargs)
        self.config(text='mybutton')

if __name__ == '__main__':
    Application().mainloop()
Antworten