J'ai créé une barre de menu et une zone de texte, dans la zone de texte J'aime afficher les informations de la variable qui appartient à la chooice le menu.Comment afficher un texte spécifique dans une zone de texte par choix à partir d'une barre de menu
Mais je n'arrive pas à comprendre comment.
Voici ce que j'ai réussi à mettre en place par différents guides sur le web. Je suis très novice avec Python et je suis toujours en train de me débattre avec le concept des objets et des classes, donc toute aide sera grandement appréciée.
from tkinter import Tk, Frame, Menu
from tkinter import *
class Example(Frame):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.master.title("syntax explenation for shopfloor")
menubar = Menu(self.master)
self.master.config(menu=menubar)
syntaxMenu = Menu(menubar, tearoff=False)
submenu = Menu(syntaxMenu)
syntaxMenu.add_cascade(label='Math', menu=submenu, underline=0)
submenu.add_command(label="abs()", command=self.onSyntaxabs)
submenu.add_command(label="cos()", command=self.onSyntaxcos)
submenu.add_command(label="sin()", command=self.onSyntaxsin)
submenu.add_cascade(label="log()", command=self.onSyntaxlog)
submenu = Menu(syntaxMenu)
syntaxMenu.add_cascade(label='Inqurie', menu=submenu, underline=0)
submenu.add_command(label="inqiureText()", command=self.onSyntaxinquire)
menubar.add_cascade(label="Syntax", underline=0, menu=syntaxMenu)
def onSyntaxabs():
info="Convert to absolute value, abs(-10) will respond with 10."
def onSyntaxcos():
info="Returns cosinus value in decimal degrees"
def onSyntaxcos():
info="Returns cosinus value in decimal degrees"
def onSyntaxlog():
info="Returns the natural logarithm"
def onSyntaxinquire():
info="Creates a pop-up box that you can enter text in."
def main():
root = Tk()
root.geometry("500x600")
app = Example()
S = Scrollbar(root)
T = Text(root, height=20, width=60, bg="lightblue")
S.pack(side=RIGHT, fill=Y)
T.pack(side=LEFT, fill=BOTH)
T.pack(side=RIGHT, fill=BOTH)
S.config(command=T.yview)
T.config(yscrollcommand=S.set)
info=?
T.insert(END, info)
mainloop()
if __name__ == '__main__':
main()
Il existe de nombreux problèmes avec votre code. Vous devez corriger votre indentation. Vous importez deux fois depuis tkinter sans raison. 'info =?' n'est pas une affirmation valide. J'imaginais que vous vouliez dire 'info ="? "'. Vous avez défini 'def onSyntaxcos():' deux fois et ainsi de suite. –
Vous devez d'abord comprendre ce qu'est un ['class'] (https://docs.python.org/3/tutorial/classes.html) en Python. Ensuite, vous pouvez continuer avec un tutoriel sur ['tkinter'] (https://docs.python.org/3/library/tkinter.html). –
vous pourriez bénéficier d'utiliser un bon IDE qui vérifiera l'erreur pour vous afin que vous puissiez éviter des problèmes simples comme l'indentation et les citations manquantes. Peut-être quelque chose comme Eclipse ou Py Charm. –