ein paar Designfragen zu mehreren Listboxen mit Scrollbar

Fragen zu Tkinter.
Antworten
BlackJack

Für meinen Geschmack ist da zuviel Wiederholung in diesem Schnippsel.

Code: Alles auswählen

if event.keycode is not None:
    factor = -(event.keycode / 120)
else:
    factor = -1 if event.num == 4 else 1
    assert event.num in (4, 5)
alle_boxen.yview_scroll(4 * factor, tk.UNITS)
return 'break'
ippurk
User
Beiträge: 61
Registriert: Mittwoch 8. Juli 2009, 20:40

ja, das gefällt mir auch besser, deutlich eleganter gelöst.

Aber zu diesem assert: Ist das nötig ? Die Funktion wird doch sowieso nur aufgerufen, wenn die event.num 4 oder 5 ist (durch mein vorheriges bind). Oder ist das einfach nur guter Stil, bei solchen if else Zuweisungen diese assert-Überprüfung vorzunehmen ?

Ach und danke. Jetzt weiß ich auch, daß es den Befehl assert gibt, wieder was dazugelernt, bin ja noch ein völlig Unwissender.
BlackJack

@ippurk: Das ``assert`` ist nicht nötig, aber genau dafür ist ``assert`` da -- Sachen überprüfen, von denen man 100%ig sicher ist, das sie stimmen. Es ist immer wieder überraschend wie oft man sich irrt und die eben *doch* passieren. :-)
Antworten