Widget portable dans Tkinter
Avoir joué un peu avec les deux Tkinter, et wxPython, j'aime Tkinter beaucoup mieux en termes de comment nettoyer mon code source ressemble. Cependant, il ne semble pas avoir autant de fonctions; en particulier, il n'a pas d'onglets (comme dans les onglets en haut de la fenêtre de Firefox).
Un peu Googler sur le sujet propose quelques suggestions. Il y a un livre de cuisine de l'entrée avec une classe, vous permettant d'utiliser les onglets, mais c'est très primitif. Il y a aussi Python megawidgets sur SourceForge, bien que cela semble très ancien et m'a donné des erreurs lors de l'installation.
Quelqu'un aurait-il l'expérience de faire des onglets de Gui dans Tkinter? Qu'avez-vous utilisé? Ou est-ce simplement le cas que quelqu'un qui a besoin de plus puissant fenêtrage composants a utiliser wxPython?
source d'informationauteur Eli Courtwright | 2008-11-12
Vous devez vous connecter pour publier un commentaire.
Récente de Python (> 2.7) versions, vous pouvez utiliser le
ttk
module, qui permet d'accéder à la Savoirs traditionnels sur le thème widget ensemble, qui a été introduit dansTk 8.5
.Voici comment importer
ttk
en Python 2:En Python 3, le
ttk
module est livré avec la norme des distributions comme un sous-module detkinter
.Voici un simple exemple de travail basée sur un exemple de la
TkDocs
site web:Une autre alternative est d'utiliser la
NoteBook
widget de l'tkinter.tix
de la bibliothèque. Pour utilisertkinter.tix
vous devez avoir leTix
widgets installés, généralement à côté de l'installation de votreTk
widgets. Pour tester votre installation, essayez les solutions suivantes:Pour plus d'infos, découvrez cette page web sur la PSF site web.
Noter que
tix
est assez vieux et pas bien pris en charge, de sorte que votre meilleur choix serait d'allerttk.Notebook
.Si quelqu'un cherche encore, j'ai eu ce travail que dans l'Onglet tkinter. Jouer avec le code pour le faire fonctionner comme vous le souhaitez (par exemple, vous pouvez ajouter le bouton pour ajouter un nouvel onglet):
Alors il ne peut pas vous aider pour le moment, tk 8.5 est livré avec un ensemble étendu de widgets. Cette série est disponible avec tk 8.4 par extension connu comme le "carreau". Inclus dans l'ensemble étendu de widgets est un ordinateur portable widget. Malheureusement, à ce moment-Tkinter, par défaut, utilise un assez ancienne version de Savoirs traditionnels qui ne vient pas avec ces widgets.
Des efforts ont été déployés pour faire de la tuile disponible à Tkinter. Découvrez http://tkinter.unpythonic.net/wiki/TileWrapper. Pour une autre action de ce type, voir http://pypi.python.org/pypi/pyttk. Aussi, pour un avant-goût de la façon dont ces widgets look (en Ruby, Perl et Tcl) voir http://www.tkdocs.com/.
Tk 8.5 est un énorme amélioration de stock de Savoirs traditionnels. Il introduit plusieurs nouveaux widgets, widgets natifs, et un moteur de thèmes. J'espère qu'il va être disponible par défaut dans Tkinter, un jour, bientôt. Dommage que le Python monde est à la traîne des autres langues.
mise à jour: Les dernières versions de Python maintenant inclure le support pour le thème de widgets prêts à l'emploi. _
"Ou est-ce simplement le cas que quelqu'un qui a besoin de plus puissant fenêtrage composants a utiliser wxPython?"
Réponse courte: oui.
Réponse longue:
Il peut prendre un peu de pratique pour votre wxPython code de sentir "propre", mais il est plus agréable et beaucoup plus puissant que Tkinter. Vous pourrez également obtenir un meilleur soutien, depuis plus de gens utilisent ces jours-ci.
Quels sont les problèmes que vous avez avec pmw? Il est vieux, oui, mais c'est de la pure python, donc ça devrait marcher.
Noter que les Billets ne fonctionne pas avec py2exe, si c'est un problème pour vous.