begin process at 2010 09 04 13:43:54
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Python

 > 

Divers

 > 

Débutant(e)

 > 

aide tkinter


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

aide tkinter

samedi 14 février 2009 à 11:41:52 | aide tkinter

coco02

Bonjour,
Je debute en programmation avec python depuis quelques jours.J'essaie de creer un petit programme simple pour controler l'efficacité d'une climatisation automobile.Mon programme debute par une fonction input pour que l'utisateur entre des données et ceci foncionne parfaitement.Mon souci est que je souhaite remplacer ma fonction input par une interface grahique avec Tkinter mais j'ai passé beaucoup d'heures et je n'arrive à rien,allors je me résous à demander de l'aide.Voici le debut de mon code,soyez indulgent car je suis vraiment un novice.Merci pour votre aide.
t1=input('entrer la temperature d_air exterieure')
h1=input('entrer l_hygrometrie')
t2=input('entrer la temperatur d_air souffle')



if(t1>=15)and(t1<20):
    if(h1>0)and(h1<70):
        if(t2<7):
            import grclim1.py
        else:
            import grclim2.py
   
    if(h1>=70)and(h1<100):
        if(t2<9):
            print('efficacite clim correcte')
        else:
            print('manque d efficacite de la climatisation')
           

lundi 16 février 2009 à 11:38:33 | Re : aide tkinter

lespinx

Bonjour,

Il faut commencer par le début et je conseille une saine lecture içi
Ce document est libre et peut être téléchargé (370 pages en français).
Pour Tkinter voir le chapitre 8

Bon courage
mercredi 18 février 2009 à 13:19:34 | Re : aide tkinter

coco02


                                Bonjour,
Sur vos precieux conseils,j'ai telechargé le document et je l'ai etudié.Malgré de notables progrés je coince un peu.Mon interface grahique est conforme à ce que je voulais, mais lorsque je clique sur le bouton 'valider' je n'obtiens aucun resulat,il y a surement beaucoup de choses que je ne comprends pas.voici une parteie de mon code simplifié,j'espére que vous pourrez m'orienter un peu.merci d'avance

#!/usr/bin/python

from Tkinter import*

fen1=Tk()

def diag():
    if t1>15 and t1<20:
        if h1>20 and h1<70:
            if t2<6:
                print "clim correcte"
            else:
                print"manque d_efficacite"
                                   

tempext=Label(fen1,text='temperature exterieure')
hygro=Label(fen1,text='hygrometrie')
tempint=Label(fen1,text='temperature interieure')
t1=IntVar()
h1=IntVar()
t2=IntVar()


t1=Entry(fen1,textvariable=tempext)
t1.get()
h1=Entry(fen1,textvariable=hygro)
h1.get()
t2=Entry(fen1,textvariable=tempint)
t2.get()
  
validation=Button(fen1,text='valider',command=diag)


tempext.grid(row=0)
hygro.grid(row=1)
tempint.grid(row=2)

t1.grid(row=0,column=1)
h1.grid(row=1,column=1)
t2.grid(row=2,column=1)

validation.grid(row=4,column=1)

fen1.mainloop()                 


mercredi 18 février 2009 à 21:20:41 | Re : aide tkinter

lespinx

Réponse acceptée !
Bonsoir

1) Attention a la portée des variables

def diag():
    print "objets TkInter",t1,h1,t2   
    if t1>15 and t1<20:
        if h1>20 and h1<70:
            if t2<6:
                print "clim correcte"
            else:
                print"manque d_efficacite"
               
Dans l'exemple cité, les variables t1, h1 et t2 ne sont pas des variables de la fonction "diag" ce sont les numéros d'objets Tkinter attribués aux champs Entry
Conclusion: "il ne se passe rien..."

Pour des utilisations différentes il faut des variables différentes.
    t1=IntVar()
    t1=Entry(fen1,textvariable=tempext)
    if t1>15
   
2) IntVar() et textvariable ne sont pas utiles dans ce cas

3) Ci-joint une proposition pour utiliser les champs Entry

#!/usr/bin/python
# -*- coding: ISO-8859-15 -*-

from Tkinter import*
import tkMessageBox

def diag():
    #La fonction "diag" sera appellée par appui du bouton "valider":
    #c'est ici qu'il faut lire le contenu des champs en entrée avec la méthode
    #associée à l'objet ".get()" et qu'il faut effectuer tous les contrôles de
    #saisie

    #Controle de la saisie
    t1_ent = t1.get()
    if not control_champ(t1_ent): return

    h1_ent = h1.get()
    if not control_champ(h1_ent): return

    t2_ent = t2.get()
    if not control_champ(t2_ent): return

    #int fonction pour transformer en "integer" la valeur du champ de saisie qui
    #est par défaut en "str", pour permettre la comparaison numérique

    print "type t1_ent",type(t1_ent)
    t1_ent = int(t1_ent)
    print "type t1_ent",type(t1_ent)
    h1_ent = int(h1_ent)
    t2_ent = int(t2_ent)

    if t1_ent > 15 and t1_ent < 20:
        if h1_ent>20 and h1_ent<70:
            if t2_ent<6:
                print "clim correcte"
            else:
                print"manque d'efficacité"
            return

    #Si les conditions ne sont pas remplies, il ne se passe rien, il faut le dire
    #un message c'est mieux qu'un print.
    tkMessageBox.showwarning("Climatisation ", "Saisie hors controle")

def control_champ(champ):

    #Champ vide?
    if champ == "":
        tkMessageBox.showwarning("Climatisation ", "Veuillez entrer les données")
        return False

    #Champ numérique?
    for x in map(ord, champ):
        if x < 48 or x > 57: # Valeurs ASCII pour les chiffres
            tkMessageBox.showwarning("Climatisation ", "Saisie non numérique")
            return False

    return True



fen1=Tk()
tempext=Label(fen1,text='temperature exterieure')
hygro=Label(fen1,text='hygrometrie')
tempint=Label(fen1,text='temperature interieure')


t1=Entry(fen1)
h1=Entry(fen1)
t2=Entry(fen1)

validation=Button(fen1,text='valider',command=diag)

tempext.grid(row=0)
hygro.grid(row=1)
tempint.grid(row=2)

t1.grid(row=0,column=1)
h1.grid(row=1,column=1)
t2.grid(row=2,column=1)

validation.grid(row=4,column=1)

fen1.mainloop()

Bonne continuation


samedi 21 février 2009 à 09:40:07 | Re : aide tkinter

coco02


                                 Bonjour,
Je vous remercie pour tous vos conseils,car maintenant tout est devenu trés clair pour moi,j'ai bien comris toutes mes erreurs alors que je ramais depuis un moment.J'ai revu l'ensemble de mon code et tout fonctionne parfaitement.
Encore merci et bon week end.


Cette discussion est classée dans : input, aide, tkinter, h1, if


Répondre à ce message

Sujets en rapport avec ce message

scrollbar dans scrollbox avec TKinter [ par MHI ] Est-ce que quelqu'un sait comment ajouter les scrollbar à une scrollbox :J'ai essayé ceci :lstFile = Tkinter.Listbox(frmMain)lstFile.place(x = 20, y = checkButton avec TKinter [ par MHI ] comment faire pour tester si un checkButton est coché ? aide pour xchat svp [ par Jamu ] Salut a tous Je debute sur xchat et le python ben je connais pas,j'ai chercher des tuto sur google mais j'ai trouvé que des tuto de python en général Probleme avec TKinter [ par titasse ] Bonjour, je debute en python. J'ai un probleme lorsque je veux importer TKinter avec la commande from TKinter import * j'ai le message suivant : Imp au sujet de Tkinter et le module turtle [ par nico1900 ] from turtle import *forward(120)left(90) color('red') forward(80)bon en fait je voulais tester le module turtle avec l e code ci-dessus et j'obtiens c j'ai besoin d'etre eclairé... [ par vb_shootinsplif ] Bonjour ,je voulais savir si on pouvait en python gerer les "réponses" de l'utilisateur ?par exemple, je fais en ce moment un prog de gestion :        Un Canvas comme dans Tkinter, mais pour wxPython [ par samurize ] Slt tout le monde.   Voila tout est dans le titre (ou a peu pres  ) :   Je suis à la recherche d'un module pouvant s'integrer dans une application u comment créer un fichier HTML avec Python [ par anwaarber ] salut a tous,j'ai un problème lors de la création d'un fichier HTML avec pythonsurtout quand je fait passer des variables dans le code :def informatio Taille de widgets sous Tkinter [ par Uims ] Bonjour, Quelqu"un saurait comment definir la taille d'un widgets sous tkinter??? Exemple: fen 1 = Tk(taille=600) J'espere que je me fait comprend Ouverture d'un fichier windows (avec Tkinter) [ par Uims ] Bonjour, Je travaille sous python et Tkinter et j'aurai voulu savoir comment dire a python de demarrer (comme on clique sur un fichier) une applicati


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Septembre 2010
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
27282930   

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,218 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales