POO en Python

Fermé
Guillaume - 22 sept. 2018 à 16:48
Jithel Messages postés 843 Date d'inscription mercredi 20 juin 2018 Statut Membre Dernière intervention 31 août 2021 - 26 sept. 2018 à 13:30
Bonjour,

J'ai eu quelques cours sur Python en cpge mais cela se limite essentiellement à de l’algorithmique.
Je souhaiterais pour un de mes programme créer une fenêtre pour le faire fonctionner (actuellement je le fait dans la console directement)
J'ai donc besoin d'une fenêtre simple qui rempli le rôle suivant :
- Une case vide dans lequel on rempli par un entier qui sera un argument d'une fonction déjà créée, ex : marquer(33) .Je souhaite donc qu'on inscrivant 33 puis en validant ça active la fonction marquer
- Un bouton pour faire tourner une autre fonction sans argument : Effacer() . Que l'on pourra idéalement placer à un endroit où l'on ne pas pas appuyer par accident.
- En dessous, une zone qui affiche ce qui est renvoyé par la console (du texte)

Sauriez-vous comment réaliser ce type de fenêtre ?

Merci

3 réponses

Chris 94 Messages postés 50978 Date d'inscription mardi 8 janvier 2008 Statut Modérateur Dernière intervention 17 février 2023 7 321
22 sept. 2018 à 16:50
0
Bonjour,
comme indiqué, j'ai déjà réalisé un script contenant toutes les fonctions qui me sont nécessaires. Je l'utilise actuellement directement dans la console en écrivant à chaque fois le nom de la fonction avec ses arguments.
Je souhaite aller plus loin en facilitant l'utilisation avec une fenêtre plutôt "simple" pour utiliser de manière plus intuitive ces fonctions.
Je recherche quelques exemple de code utilisant ce type de fenêtre que je pourrais adapter à ce que je cherche à faire.

Il s'agit d'un script personnel que je reprend de février 2016 et en aucun cas un exercice qui m'est donné.
0
J'ai réussi à réaliser la petite fenêtre avec le module tkinter :
https://i.gyazo.com/4a6f6f97a74207ec8be1b89493446c6d.png
Je souhaite maintenant faire afficher dans le bas de la fenêtre les print qui apparaissent dans la console (fonction3 55
fonction2 55
fonction3 42
fonction2 42)
Savez-vous comment faire ?
def fonction1():
    print('fonction1')

def fonction2():
    contenu1 = entr1.get()
    print('fonction2',contenu1)
    entr1.delete (0, len(contenu1))  

def fonction3():
    contenu2 = entr2.get()
    print('fonction3',contenu2)
    entr2.delete (0, len(contenu2))
       
from tkinter import *
 
fen1 = Tk()
fen1.title("Titre de ma fenetre")
txt1 = Label(fen1, text ='Grille :')
txt2 = Label(fen1, text ='Numéro :')
entr1 = Entry(fen1)
entr2 = Entry(fen1)


can1 = Canvas(fen1, width =160, height =160, bg ='white')

txt1.grid(row =1, sticky =E)
txt2.grid(row =2, sticky =E)
entr1.grid(row =1, column =2)
entr2.grid(row =2, column =2) 
 
bou1 = Button(fen1, text='Effacer', command = fonction1)
bou1.grid(row =3, sticky =E,column =2)
 
bou2 = Button(fen1, text='Quitter', command = fen1.destroy)
bou2.grid(row =3, sticky =E)
 
bou3= Button(fen1, text='OK', command = fonction2)
bou3.grid(row =1,column=3)
 
bou4= Button(fen1, text='OK', command = fonction3)
bou4.grid(row =2,column=3)
 
fen1.mainloop()
0
Jithel Messages postés 843 Date d'inscription mercredi 20 juin 2018 Statut Membre Dernière intervention 31 août 2021 171
26 sept. 2018 à 13:30
Au lieu d'utiliser print, ajoute les chaînes de caractère dans cet objet : https://www.tutorialspoint.com/python/tk_scrollbar.htm
0