2012-07-11 4 views
1

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

3

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.

+0

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

+1

@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é. :-) –

+0

Cool. Vous ne pouvez pas attendre pour commencer avec TK! – SexyBeast

Questions connexes