Aller au contenu

Aide sur Tkinter + Mysql sous Python.


Messages recommandés

Bonjour,


 


 


J'ai pour objectif de créer un questionnaire avec Mysql sous python dont lequel l'interface serait Tkinter et  qui permettrait de déterminer quel chocolat est fais pour vous. J'ai déjà créer une base de donnée Mysql avec une table dans laquelle il y a le chocolat et ce qui lui correspond ( nom:Kinder bueno, type: chocolat noir, marque: Kinder...). J'aurais besoin d'aide car je ne vois pas comment relier mes questions à ma base de donnée. Et enfin ces question à Tkinter :/ .


 


Voilà comment j'imagine le déroulement de ma base : 


 


Quel est ton type?

SELECT*

FROM chocolat

WHERE type='noir'

 

Votre pourcentage de chocolat favori?

SELECT*

FROM chocolat

WHERE type='noir'

    AND degres='70%'

 

Votre marque favorite?

SELECT*

FROM chocolat

WHERE type='noir'

    AND

    degres='70%'

    AND

    marque='ferrero'

 

 


Merci d'avance pour vos réponses.


Lien vers le commentaire
Partager sur d’autres sites

C'est une vaste question. Il existe un bouquin sur Python qui devrait te permettre de trouver la solution : "Apprendre à programmer avec Python 3", de Gérard Swinnen. Ce bouquin est disponible dans le commerce mais aussi en pdf gratuit sur internet. Un  chapitre complet porte sur Python, SQL et tkinter.

Lien vers le commentaire
Partager sur d’autres sites

Salut, je pense qu'il suffit de faire la requête une fois que la personne aura tout répondu.

 

Après si la table est bien faite, la requête me semble correcte :fumer: Mais ça on ne peut pas le vérifier pour toi.

 

OpenClassroom propose un tuto sur l'utilisation de Tkinter, ça semble être un compromis pour ceux qui veulent pas trop s'aventurer dans la prog :yes:

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

 

Dans les interfaces graphiques, les widgets ont souvent ce qu'on appelle des fonctions de rappelle (des callbacks), personnellement pour ce que tu veux faire j'utiliserai des combobox (des menus déroulants).

Le constructeur de la combobox prend en paramètre, le widget parent ainsi qu'une liste des options.

D'après la documentation de Tkinter : https://docs.python.org/3.1/library/tkinter.ttk.html#combobox la combobox renvoit un évènement de type : <<ComboboxSelected>> lors d'un changement de choix dans la liste.

L'évènement permet d'accéder au widget qui l'a levé, on peut donc utiliser la méthode get() pour obtenir le choix qui a été fait sur la combo box.

Il nous manque plus qu'à faire le lien entre l'évènement, et le callback, pour cela on utile la méthode bind sur le widget.

Si j'écris le code correspondant :

from tkinter import *from tkinter.ttk import *def execReqTypeChoco(event):    print(event.widget.get())    #On accède au widget qui a levé l'évènement, puis on appelle la méthode get() dessus                                 #pour obtenir le choix du chocolat    #Exemple d'une requete SQL construite grace à l'évènement    #query = "SELECT * FROM chocolat WHERE type = " + event.widget.get()    #cursor.execute(query)listeTypesChoco = ["Blanc", "Lait", "Noir"]           #Nos optionsroot = Tk()combo = Combobox(root, values=listeTypesChoco)        #Creation de la comboboxcombo.bind("<<ComboboxSelected>>", execReqTypeChoco)  #Liens entre l'évènement et la fonction à appeler (callback)combo.pack()                                          #On affiche le toutroot.mainloop()                                       #On lance la boucle évènementielle

Voilà un exemple de comment fonctionne les interfaces graphiques et les évènements, comme l'a dit RinDman, tu devrais suivre un tuto sur les interfaces graphiques ainsi que sur la programmation objet si tu ne connais pas déjà (ça va de pair avec les GUI).

Lien vers le commentaire
Partager sur d’autres sites

  • 3 semaines après...

j'arrive un peu tard, mais, plutôt que tkinter, si ton projet reste a un usage privé, je te conseille Qt.

en effet, il n'est pas nécessaire de programmer, il y a une interface qui te permet en drag and drop de gérer un formulaire, ... 

de plus tkinter est vraiment dépassé, alors Qt est au top. 

tu peux générer une interface propre rapidement, sans programmation compatible avec mobile tablette, .... 

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...