Question

Je suis en train d'étudier le Tkinter Listbox widget et ont été incapables de trouver des solutions pour les fonctionnalités suivantes:

  1. Comment puis-je créer des éléments de séparation horizontale non sélectionnables, par exemple. séparateurs équivalents au .add_separator du widget Menu Tkinter ()? (En utilisant les caractères comme les tirets et underscores est affreux).

  2. Comment puis-je désactiver un élément spécifique? J'ai essayé d'utiliser .itemconfig (index, state = 'désactivé') sans succès.

  3. Comment puis-je activer la navigation au clavier, par exemple. lorsque l'entrée du clavier d'un utilisateur fait défiler automatiquement une à l'avant de l'élément le plus proche qui commence par le texte que l'utilisateur a tapé? Dois-je bind ( « , ...) et de gérer ce comportement moi-même?

  4. Would certaines des fonctionnalités ci-dessus plus facile à mettre en œuvre au moyen d'un widget texte ou le TTK Treeview widget?

Merci, Malcolm

Était-ce utile?

La solution

  1. vous ne pouvez pas. Le widget ne supporte pas.

  2. vous ne pouvez pas désactiver certains éléments, le widget ne prend pas en charge un attribut d'état. Cela étant dit, vous pouvez contrôler la sélection et faire la chose appropriée si la chose de l'utilisateur qui est désactivé, et utiliser l'avant-plan de l'élément pour désigner-ness désactivé.

  3. Vous devez lier à des événements et gérer le keypress comportement vous-même. Ce n'est pas particulièrement difficile, un peu fastidieux.

  4. le widget texte pourrait être votre meilleur pari, mais vous devrez ajouter des liaisons pour imiter les liaisons par défaut de la zone de liste.

Bottom line: Tkinter fournit rien qui soutient directement ce que vous voulez faire, mais les blocs de construction sont tous là. Vous aurez juste à construire vous-même.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top