EQUATION STANDARD DE LA DROITE

Signaler
Messages postés
28
Date d'inscription
vendredi 7 août 2009
Statut
Membre
Dernière intervention
2 mai 2016
-
Messages postés
28
Date d'inscription
jeudi 10 juillet 2003
Statut
Membre
Dernière intervention
25 octobre 2009
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/51036-equation-standard-de-la-droite

Messages postés
28
Date d'inscription
jeudi 10 juillet 2003
Statut
Membre
Dernière intervention
25 octobre 2009

J'ai fini mon petit didacticiel sur le sujet :

http://www.gigante.be/python/didact_002.php

;o)
Messages postés
336
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
8 novembre 2011
1
Ok compris !
Messages postés
28
Date d'inscription
jeudi 10 juillet 2003
Statut
Membre
Dernière intervention
25 octobre 2009

En fait, les GridManager sont des outils qui permettent de créer, en les combinant, n'importe quelle interface même ultra-complexe en Tkinter. La règle n'est pas celle-ci :
"Vous ne pouvez utiliser qu'un seul GridManager dans une application."
Mais elle est la suivante :
"Vous ne pouvez utiliser qu'un seul GridManager dans un conteneur donné pour y placer ses enfants directs."

Tu peux donc très bien avoir un frame principal f1, qui contient deux frames f2 et f3 placées avec pack par exemple. Et dans les frames enfants f2 et f3, tu peux de nouveau choisir d'autres GridManager pour chacun d'eux, pourvu que tu restes dans le gridManager choisi. Tu peux donc choisir pour les enfants directs de f2 de les placer avec pack et de placer les enfants directs de f3 avec Grid. Voici un exemple sommaire pour illustrer ça :

# -*- coding:utf-8 -*-
from Tkinter import *

application = Tk()
application.title("Pack testeur")

frame1 = Frame(application, bg="yellow", width=300, height=300, padx=10, pady=10)
frame1.pack(side=RIGHT,fill=Y, expand=0)

# il reste la cavité sur la gauche...

frame2 = Frame(application, bg="blue", width=300, height=150)
frame2.pack(side=TOP, fill=BOTH)

# il reste une cavité en bas à gauche...

frame3 = Frame(application, bg="red", width=300, height=150)
frame3.pack(side=BOTTOM, fill=BOTH, expand=1)

# le frame suivant sera placé au-dessus du frame 3 !

frame4 = Frame(application, bg="green", width=200, height=100)
frame4.pack(side=TOP, fill=NONE, expand=1)

# A l'intérieur du frame 1, si on décide d'utiliser grid, on peut le faire, mais on n'utilise
# alors que grid exclusivement pour les enfants placés dans frame1.

lab1 = Label(frame1, text="label un" ).grid(row=0,column=0)
ent1 = Entry(frame1).grid(row=0,column=1)
lab2 = Label(frame1, text="label deux" ).grid(row=1,column=0)
ent2 = Entry(frame1).grid(row=1,column=1)
lab3 = Label(frame1, text="label trois").grid(row=2,column=0)
ent3 = Entry(frame1).grid(row=2,column=1)

application.mainloop()
Messages postés
336
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
8 novembre 2011
1
donc en ajoutant les arguments side et fill dans pack on peut l'utiliser avec du grid ? Ou j'ai sauté quelque chose ?

Sinon quel est l'intérêt de mixer les deux ? Sinon c'est bon a savoir ^^

Sinon pourquoi adopter un algorithme si complexe alors que tu pourrais simplement faire un traceur de fonction, ce qui permettrai la compatibilité avec des équation de degré plus élevés , simplement en ajoutant une glissière... Et même avoir une glissière qui indique le degré souhaité...

Enfin, petite remarque, mais c'est très personnel, normalement __init__ sert juste pour l'initialisation, pas pour le programme lui même.. Je pense que la convention veut qu'on introduise une autre fonction... Mais bon c'est _vraiment_ un détail.

Sinon l'idée est bonne ^^, bravo !
Afficher les 11 commentaires