Fonctionnement du menu barre en python

Résolu
Lenouveauapprenti Messages postés 306 Date d'inscription   Statut Membre Dernière intervention   -  
Lenouveauapprenti Messages postés 306 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour,

J'ai Trois fichiers :

main.py ( fenêtre principale désignée root1, avec Barre de menu)

Donnees.py (sous fenêtre en principe bien personnalisée, désignée root)

db.py (création de table et liaison avec DB sqlite3 avec les fonctions d'ajout, ..etc.)

je cherche a faire afficher la sous fenêtre Donnees.py, une fois je clique sur la commande en Barre de menu

je vous remis ci dessous mes lignes de codes, pour que vous puissiez corriger mes erreurs. et merci d'avance

#Importation des bibliotheques
from tkinter import *
from tkinter import ttk
import tkinter as tk
import Donnees

#Appeler les fenetres
def afficher_donnees(Donnees):
    Donnees = Toplevel()



#Creation de la fenetre principale
root1=Tk()
root1.title("Centre de soutien Ibn Al Haytam")
root1.geometry('1300x650+0+0')
root1.resizable(False,False)
root1.configure(bg="#E1A624")



#Creation de la barre de menu
menu_barre = Menu(root1)
menu_fichiers = Menu(menu_barre,tearoff=0)
menu_operations = Menu(menu_barre,tearoff=0)
menu_editions = Menu(menu_barre,tearoff=0)

menu_barre.add_cascade(label="Fichiers",menu=menu_fichiers)
menu_fichiers.add_command(label="Ouvrir")
menu_fichiers.add_command(label="Annees")
menu_fichiers.add_command(label="Quitter",command=quit)
menu_barre.add_cascade(label="Operations",menu=menu_operations)
menu_operations.add_command(label="Donnees personnelles",command=afficher_donnees)
menu_operations.add_command(label="Inscriptions")
menu_barre.add_cascade(label="Editions",menu=menu_editions)


#Configuration de la barre de menu
root1.config(menu=menu_barre)

#Chargement de la fenetre principale
root1.mainloop()


Windows / Chrome 133.0.0.0

A voir également:

5 réponses

Diablo76 Messages postés 247 Date d'inscription   Statut Membre Dernière intervention   85
 

Salut,

Il faudrait connaitre le contenu de Donnees.

De plus, ton import Donnees est écrasé par Toplevel() dans ta fonction :

def afficher_donnees():
    Donnees = Toplevel()
1
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 

bonjour,

quelle erreur rencontres-tu?

0
Lenouveauapprenti Messages postés 306 Date d'inscription   Statut Membre Dernière intervention   2
 

Bonjour

l'erreur est comme suite :

[Running] python -u "c:\Users\hp\Desktop\Centre\main.py"

Exception in Tkinter callback

Traceback (most recent call last):

  File "C:\Users\hp\AppData\Local\Programs\Python\Python313\Lib\tkinter\__init__.py", line 2068, in __call__

    return self.func(*args)

           ~~~~~~~~~^^^^^^^

TypeError: afficher_donnees() missing 1 required positional argument: 'Donnees'

[Done] exited with code=0 in 20.711 seconds

0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 

remplace la ligne 8 par:

def afficher_donnees():
0
Lenouveauapprenti Messages postés 306 Date d'inscription   Statut Membre Dernière intervention   2
 

le problème est toujours la

0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 

peux-tu partager ton code modifié, et le nouveau message d'erreur?

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Lenouveauapprenti Messages postés 306 Date d'inscription   Statut Membre Dernière intervention   2
 

Bonsoir,

j'ai trouve ma faute, c'est que mes codes dans Donnees.py etaient hors la fonction (def)

Merci pour votre attention

0