Frage

Ich studiere die Tkinter Listbox Widget und nicht gelungen, Lösungen für die folgenden Funktionen zu finden:

  1. Wie kann ich nicht auswählbare horizontale Trennelemente erstellen, zum Beispiel. Separatoren entspricht dem Tkinter Menü Widgets .add_separator ()? (Mit Zeichen wie Bindestrichen und Unterstrichen sieht schrecklich).

  2. Wie kann ich ein bestimmtes Element zu deaktivieren? Ich habe versucht, .itemconfig (Index, state = 'disabled') ohne Erfolg verwendet wird.

  3. Wie kann ich die Tastaturnavigation ermöglichen, z. B. wenn eine Tastatureingabe des Benutzers scrollt automatisch eine vorwärts zum nächsten Element, das der Benutzer eingegeben mit dem Text beginnt? Muss ich bind ( ‚, ...) und zu verwalten dieses Verhalten selbst?

  4. Würde einige der oben genannten Funktionalität einfacher, einen Text-Widget zu implementieren oder über das TTK Treeview-Widget?

Danke, Malcolm

War es hilfreich?

Lösung

  1. können Sie nicht. Das Widget nicht, dass unterstützen.

  2. Sie können nicht deaktivieren bestimmte Elemente, wird das Widget keinen Staat Attribut unterstützen. That being said, können Sie die Auswahl überwachen und die entsprechende Sache tun, wenn die etwas wählen Benutzer, die deaktiviert ist, und verwenden Sie das Element Vordergrund deaktiviert-ness zu bezeichnen.

  3. Sie werden auf Tastendruck-Ereignisse zu binden müssen und das Verhalten selbst verwalten. Es ist nicht besonders schwierig, nur ein wenig langweilig.

  4. Der Text-Widget die beste Wahl sein könnte, wenn Sie die Standardbindungen der Listbox hinzufügen müssen werden Bindungen zu imitieren.

Fazit: Tkinter nichts sieht vor, dass direkt unterstützt, was Sie tun wollen, aber die Bausteine ??sind alle da. Sie werden nur sich selbst, es zu bauen haben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top