2016-09-20 1 views
0

J'ai construit avec Python un menu tkinter et je voudrais y souligner quelques caractères. J'ai utilisé la commande "souligner" dans certaines lignes, mais bizarrement les caractères n'apparaissent pas comme soulignés. Que dois-je faire pour que "souligner" fonctionne enfin et commence à souligner un index donné? Ai-je oublié quelque chose?Python: comment faire apparaître certains caractères dans la barre de menu?

from tkinter import Tk, Frame, Menu 


class Window(): 
    def __init__(self): 
     self.__window = Tk() 
     self.__set_window() 
     self.__set_menu() 


    def __set_window(self): 
     self.__window.geometry("700x500") 
     self.__window.minsize(500, 200) 
     self.__window.title("Some Text") 
     self.__window.iconbitmap("MyIcon") 

    def start_window(self): 
     self.__window.mainloop() 

    def __set_menu(self): 
     self.__menubar = Menu(self.__window) 
     self.__file= Menu(self.__menubar, tearoff=0) 


     self.__file.add_command(label = "Exit", underline=1, accelerator="Strg + C") 
     self.__menubar.add_cascade(label="File", underline=0, menu=self.__datei) 

     self.__menubar.add_cascade(label="Edit", underline=1) 


     self.__menubar.add_cascade(label="Help", underline=0) 
     self.__window["menu"] = self.__menubar 
+0

Pour quelqu'un d'autre lire ceci: la réponse est apparue un commentaire. Alan utilise Win10 et les soulignements n'apparaissent que lorsque l'on appuie sur Alt. –

Répondre

1

Les soulignements dans les menus tkinter sont définitivement déterminés par la commande de soulignement. Dans votre exemple, le «F» dans le fichier et le «x» dans la sortie sont tous les deux soulignés. Après avoir corrigé la faute de frappe ci-dessous, (et en ajoutant du code pour appeler la classe), j'ai fait apparaître les soulignements correctement.

de:

self.__menubar.add_cascade(label="File", underline=0, menu=self.__datei) 

à:

self.__menubar.add_cascade(label="File", underline=0, menu=self.__file) 

Avez-vous toujours l'erreur lorsque vous exécutez l'extrait de code, par opposition à votre dossier complet?

+0

Je l'ai corrigé mais malheureusement l'erreur est toujours là. Rien ne va être souligné. :( –

+1

Courez-vous l'extrait de code ou votre code original? J'ai ajouté '.__ window.mainloop()' à la fin de l'init dans votre extrait, puis appelé la classe à la fin du fichier, et je reçois le Je suis sur Ubuntu, donc ça peut être une chose spécifique à la plate-forme –

+0

Je cours le code fixe que j'ai posté ici sur Windows 10 et aucun caractère n'est souligné. –