Toutes les fenêtres créées avec Perl TK ou Python Tkinter ressemblent à la fenêtre Windows par défaut, avec le bouton d'annulation rouge en haut à droite, précédé de boutons maximiser et minimiser, barre supérieure bleue, etc. Est-il possible de faire des fenêtres personnalisées, comme celles que nous voyons pour les logiciels téléchargés, où tout, à partir de la couleur, de la position des boutons, de leurs styles, etc. est personnalisé?Fenêtre personnalisée utilisant Perl TK ou Python Tkinter
Répondre
Vous pouvez désactiver les décorations standards de plusieurs façons, par exemple, en mettant l'toolwindow
attribut booléen (Windows uniquement), en en faisant une fenêtre overrideredirect
, ou (avec une Tk nouvelle assez) en définissant l'attribut type
de la fenêtre à quelque chose comme utility
(X11 seulement). Avec les décorations standard désactivées, vous pouvez ensuite dessiner tout ce que vous voulez (ce qui est la façon dont les autres programmes que vous mentionnez font des choses), bien qu'il y ait un certain nombre de restrictions, en particulier avec focus
manipulation. Les fenêtres redirigées ne participent souvent pas au régime de gestion du clavier, car elles sont pour la plupart invisibles pour le gestionnaire de fenêtres qui ne sait pas se concentrer directement sur eux. (IIRC, vous pouvez le forcer, mais alors vous êtes en train de vous battre avec le WM et c'est difficile à obtenir: "Ne combattez pas le WM" est l'une des bonnes règles pour la conception graphique.) Vous peut également définir la fenêtre comme transitoire (c'est-à-dire, travailler pour une autre fenêtre) qui réduit souvent les niveaux de décoration.
La façon dont vous définissez ces paramètres dépend de la langue que vous utilisez. Je peux pointer vers les endroits à regarder dans le “mothership” documentation, mais la façon dont ils fonctionnent dans différentes langues varie.
- 1. Python/Tkinter créer une fenêtre personnalisée
- 2. Perl TK redimensionner la fenêtre
- 3. Remaximize Tkinter fenêtre en Python
- 4. Python Tkinter Tk/Tcl utilisation Problème
- 5. détruire une fenêtre Toplevel tk en python
- 6. Comment fermer une fenêtre en Perl/Tk?
- 7. Erreur de fenêtre principale Perl tk
- 8. Minimiser une fenêtre Tk
- 9. Python 2.7 Fenêtre de rafraîchissement Tkinter
- 10. Modifier/Supprimer les caractères "Tk" de la fenêtre tkinter
- 11. embedding opengl in perl tk
- 12. Python Tkinter: Comment appliquer une nouvelle image d'arrière-plan lors de l'ouverture d'une nouvelle fenêtre tk?
- 13. Python Tkinter comment colorer une fenêtre en utilisant la grille
- 14. Fenêtre vide dans Tkinter
- 15. Perl/Tk bizarreries
- 16. problème en utilisant un singleton avec tkinter PhotoImage/Tk en python
- 17. Python Tkinter - nom global Tk() n'est pas défini
- 18. Apparence de fenêtre personnalisée Python
- 19. Tkinter mauvaise fenêtre enfant
- 20. Tkinter after_cancel en python
- 21. Cadre de défilement Python tk?
- 22. Dans Tk avec Python, comment spécifier un cadre ou un canevas à redimensionner avec ma fenêtre?
- 23. Pourquoi une fenêtre tkinter vide?
- 24. Positionnement Canvas dans la fenêtre - Tkinter/python
- 25. Variable Python dans la fenêtre tkinter
- 26. Fond de fenêtre transparent (Python Tkinter)
- 27. Python en utilisant le bouton Tk
- 28. Fenêtre Tkinter configurant l'erreur python "de non-retour"
- 29. Gel de l'interface graphique - Perl Tk
- 30. Installer tkinter et python localement
Merci. Dans quelle mesure cette personnalisation peut-elle aller? Je veux dire, est-il possible de concevoir une interface graphique hautement sophistiquée grâce à Perl TK, ou est-ce que je peux faire au mieux certaines choses avec elle? – SexyBeast
@Cupidvogel Cela dépend de combien d'effort vous voulez vraiment mettre. Une fois que vous avez ajouté des fenêtres non rectangulaires (qui ne font pas partie de la base Tk, mais une extension triviale que Perl/Tk et Tkinter peuvent fournir), vous pouvez faire des effets vraiment fantaisistes. J'ai eu des fenêtres en forme d'empreintes digitales sales dans le passé. :-) –
Cool. Vous ne pouvez pas attendre pour commencer avec TK! – SexyBeast