EQUATION STANDARD DE LA DROITE

elnabo Messages postés 28 Date d'inscription vendredi 7 août 2009 Statut Membre Dernière intervention 2 mai 2016 - 30 déc. 2009 à 22:58
cs_calogerogigante Messages postés 28 Date d'inscription jeudi 10 juillet 2003 Statut Membre Dernière intervention 25 octobre 2009 - 20 janv. 2010 à 14:09
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

cs_calogerogigante Messages postés 28 Date d'inscription jeudi 10 juillet 2003 Statut Membre Dernière intervention 25 octobre 2009
20 janv. 2010 à 14:09
J'ai fini mon petit didacticiel sur le sujet :

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

;o)
xeolin Messages postés 336 Date d'inscription samedi 26 novembre 2005 Statut Membre Dernière intervention 8 novembre 2011 2
3 janv. 2010 à 13:23
Ok compris !
cs_calogerogigante Messages postés 28 Date d'inscription jeudi 10 juillet 2003 Statut Membre Dernière intervention 25 octobre 2009
3 janv. 2010 à 00:36
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()
xeolin Messages postés 336 Date d'inscription samedi 26 novembre 2005 Statut Membre Dernière intervention 8 novembre 2011 2
2 janv. 2010 à 23:10
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 !
cs_calogerogigante Messages postés 28 Date d'inscription jeudi 10 juillet 2003 Statut Membre Dernière intervention 25 octobre 2009
2 janv. 2010 à 12:57
Disons que les curseurs a et b ne sont que des moyens de manipuler la valeur de a et de b... En soi, il n'y a pas de raison particulière de mettre le négatif en bas et le positif en haut... Mais je crois changer le sens est faisable quand même : voir dans les propriétés des widgets scale.

Si tu as des questions concernant une partie du code, n'hésite pas à la poser...

Merci pour ta cotation plus que généreuse...
;-)
elnabo Messages postés 28 Date d'inscription vendredi 7 août 2009 Statut Membre Dernière intervention 2 mai 2016
2 janv. 2010 à 12:39
Ah ouais il est pas mal ton code, j'ai pas toujours tout compris mais je l'aime bien.

Par contre petit détail qui me parait bizarre dans ton programme, les curseurs permettant de régler a et b ont les valeurs négatives à leur sommet ce qui parait étrange à coté du plan
elnabo Messages postés 28 Date d'inscription vendredi 7 août 2009 Statut Membre Dernière intervention 2 mai 2016
31 déc. 2009 à 11:28
Ok merci beaucoup pour le zip et bonne année à toi j'vais pouvoir regarder en plein de truc comme ça
cs_calogerogigante Messages postés 28 Date d'inscription jeudi 10 juillet 2003 Statut Membre Dernière intervention 25 octobre 2009
31 déc. 2009 à 11:07
Si j'ai du temps dans les jours qui viennent, je pense pouvoir encore modifier mon code pour prendre en considération n'importe quelle fonction, et pas seulement celle de la droite...
cs_calogerogigante Messages postés 28 Date d'inscription jeudi 10 juillet 2003 Statut Membre Dernière intervention 25 octobre 2009
31 déc. 2009 à 10:54
Voilà, j'ai ajouté le code complet dans un zip.
cs_calogerogigante Messages postés 28 Date d'inscription jeudi 10 juillet 2003 Statut Membre Dernière intervention 25 octobre 2009
31 déc. 2009 à 10:21
Bonjour Enalbo.

Tout le code tient dans la source publiée on-line. Tu peux donc simplement faire un copier-coller du code dans un fichier d'extension *.py, et toute cette petite application sera entre tes mains.

J'en profite pour préciser que j'ai écrit mon code sous Windows Vista, avec Python 2.6.4.

Bonne année 2010 !
elnabo Messages postés 28 Date d'inscription vendredi 7 août 2009 Statut Membre Dernière intervention 2 mai 2016
30 déc. 2009 à 22:58
Salut, j'aimerais bien regardé ton code en détail pour découper pour mieux comprendre.
Donc est ce que tu pourrais mettre un zip contenant la source s'il te plait?
Rejoignez-nous