2010-08-02 8 views
1

Je travaille sur un projet utilisant Tkinter et Python. Afin d'avoir des thèmes natifs et de profiter des nouveaux widgets, j'utilise ttk dans Python 2.6. Mon problème est comment permettre à l'utilisateur de faire défiler les onglets dans le widget portable (à la firefox). De plus, j'ai besoin d'une partie dans le bord droit des onglets pour un bouton de fermeture. Le cadre de l'onglet actif doit remplir l'espace horizontal disponible (y compris sous les flèches de défilement).Utilisation efficace du widget Notebook ttk (tk 8.5)

Je pensais que je pouvais le faire en utilisant le gestionnaire de géométrie Place, mais je me demandais s'il y avait un meilleur moyen? Les docs de ttk python n'ont aucune méthode pour gérer cela que je puisse voir. Edit: il semble qu'il y ait des difficultés pour même essayer d'implémenter cet endroit en utilisant. Pour un, j'ai toujours besoin des onglets pour faire défiler et le panneau actif pour rester dans le même endroit.

+0

Balise 'notebook' retirée dans le cadre du [nettoyage de 2012] (http://meta.stackexchange.com/questions/128315/the-great-stack-overflow-tag-question-cleanup-of-2012). –

Répondre

2

Le widget Bloc-notes ne fait pas de défilement des onglets (ou de plusieurs de ces éléments), car le développeur ne croit pas que ces éléments constituent une bonne interface graphique. Je peux voir son point de vue; de telles interfaces ont tendance à être nulles. La meilleure solution de contournement que j'ai vu est d'avoir un panneau sur le côté qui permet la sélection du volet à afficher. Vous pouvez ensuite appliquer des astuces à ce panneau pour gérer la quantité d'informations (par exemple en en faisant un widget treeview et en conservant les informations de manière hiérarchique, un peu comme la plupart des clients de messagerie gèrent des dossiers de messagerie;

0

Je n'ai jamais utilisé ces widgets, donc je n'ai aucune idée de la façon dont cela est possible, mais ce que j'essayerais s'apparenterait à la méthode grid_remove(). Si vous pouvez déplacer les onglets vers un widget invisible, ou simplement les rendre invisibles sans perdre de contenu, c'est ce que je rechercherais/essayerais.

Questions connexes