Seite 1 von 1

.config auch für objekt-convertierung?

Verfasst: Freitag 12. November 2010, 15:54
von nevergod
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

Re: .config auch für objekt-convertierung?

Verfasst: Freitag 12. November 2010, 17:01
von numerix
nevergod hat geschrieben:ist es möglich mit .config einen button in ein label umzuwandeln?
Nein.

Re: .config auch für objekt-convertierung?

Verfasst: Freitag 12. November 2010, 17:40
von wuf
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:

Re: .config auch für objekt-convertierung?

Verfasst: Freitag 12. November 2010, 18:07
von Xynon1
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.