.config auch für objekt-convertierung?

Fragen zu Tkinter.
Antworten
nevergod
User
Beiträge: 46
Registriert: Mittwoch 22. September 2010, 13:22

Guten tag liebe community ;)

Habe hier eine kleine frage, ist es möglich mit .config einen button in ein label umzuwandeln?

mit freundlichen Grüßen,

Nevergod
Benutzeravatar
numerix
User
Beiträge: 2696
Registriert: Montag 11. Juni 2007, 15:09

nevergod hat geschrieben:ist es möglich mit .config einen button in ein label umzuwandeln?
Nein.
Benutzeravatar
wuf
User
Beiträge: 1529
Registriert: Sonntag 8. Juni 2003, 09:50

Hallo nevergod
numerix hat geschrieben:
nevergod hat geschrieben:ist es möglich mit .config einen button in ein label umzuwandeln?
Nein.
numerix hat recht.

Hier etwas zum experimentieren:

Code: Alles auswählen

import Tkinter as tk

def swap_widget():
    widget_class_name = app_win.my_widget.winfo_class()

    app_win.my_widget.destroy()
    if widget_class_name == 'Label':
        app_win.my_widget = tk.Button(app_win, text='Button')
    else:
        app_win.my_widget = tk.Label(app_win, text='Label')
    app_win.my_widget.pack(expand='yes')

app_win = tk.Tk()
app_win.geometry('200x200')

but_swap = tk.Button(app_win, text='Swap',
    command=swap_widget)
but_swap.pack(expand='yes')

app_win.my_widget = tk.Label(app_win, text='Label')
app_win.my_widget.pack(expand='yes')

app_win.mainloop()
Gruß wuf :wink:
Take it easy Mates!
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

yupp, geht nicht,
ich könnte mir höchstens ein mapping vorstellen, allerdings ob sich das lohnt oder geschweige denn praktisch ist eine andere Frage.

Also mit Mapping meine ich beide Widgets auf gemeinsame Eigenschaften prüfen und diese Übernehmen und dann das alte widget zerstören und das neue drauf legen.
Aber im Prinzip Schwachsinn.

Wenn es dir nur um das aussehen geht, dann kannst du doch den button einfach aussehen lassen wie ein Label mit relief=flat und wenn er wie ein Button aussehen soll einfach ein anderes Relief nehmen.
Natürlich noch das command wegsetzen und die Press Animation.
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
Antworten