Combobox Auswahl -> Listbox Änderung

Fragen zu Tkinter.
Antworten
Count
User
Beiträge: 28
Registriert: Donnerstag 28. November 2019, 12:56

Schönen guten Tag,

es funktioniert nicht so wie ich das möchte.

Will in einer Combobox etwas auswählen und dann sollen sich die Einträge in der Listbox ändern.
Danke im voraus und schon mal schönes Wochenende.

wie ich es mir gedacht habe und nicht funktioniert:
from tkinter import *
from tkinter.ttk import Combobox

def callback(mcb):
if maincombo.get() == 'Test1':
listboxName.insert('end','test Test1')
if maincombo.get() == 'Test2':
listboxName.insert('end','test Test2')
if maincombo.get() == 'Test3':
listboxName.insert('end','test Test3')

main = Tk()

maincombo=Combobox(main, state='readonly',font='Helvetica 9 bold', values=['Test1','Test2','Test3'])
maincombo.pack()
maincombo.current(0)

listboxName = Listbox(main, selectmode='browse')
listboxName.pack()
listboxName= StringVar()
listboxName.trace('a',lambda name, index, modem, mcb=listboxName: callback(mcb))

main.mainloop()
Sirius3
User
Beiträge: 17753
Registriert: Sonntag 21. Oktober 2012, 17:20

Was hat die Listbox `listboxName` mit der StringVar-Instanz `listboxName` zu tun? Zweiteres wird nirgends sinnvoll benutzt. Du willst wahrscheinlich auf Änderungen in ComboBox reagieren?
Count
User
Beiträge: 28
Registriert: Donnerstag 28. November 2019, 12:56

ohne StringVar wollte es den callback nicht nehmen und das hatte in einem anderem Zusammenhang schon mal wunderbar geklappt^^

für bessere Vorschläge und vor allem funktionierende bin ich dankbar
Benutzeravatar
__blackjack__
User
Beiträge: 13111
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Count: Ohne `StringVar` wollte was welchen callback nicht nehmen und wie genau äussert(e) sich das? Und das erklärt auch nicht warum `listboxName` nacheinander an zwei völlig unterschiedliche Datentypen gebunden wird. Die `trace()`-Methode ist zudem veraltet und sollte nicht mehr verwendet werden.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Count
User
Beiträge: 28
Registriert: Donnerstag 28. November 2019, 12:56

sry, stand total auf dem Schlauch^^
hast natürlich Recht und hab den Fehler ausgemerzt und funktioniert jetzt wie es soll
Antworten