IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tkinter Python Discussion :

Gestion Garage Voiture Occasion


Sujet :

Tkinter Python

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Gestion Garage Voiture Occasion
    Bonjour, je souhaite réalisez un programme de gestion de garage de voiture d'occasion uniquement de la marque audi. J'aurai souhaité un écran divisé en 3 parties avec comme 1ère partie: la possibilité d'entrer des voitures en 2ième partie: la possibilité de sélectionnez les voitures entrées pour les vendres et en 3ième partie: un affichage de l'image de la voiture à vendre ainsi que ces caractéristiques entrées dans la 1ère partie.
    J'ai déjà commencé à programmer mais j'ai quelque problème avec mes listes déroulantes et pour placer mes éléments ("grid") et je ne sais pas très bien comment gérer mes données afin de les récupérer facilement. Merci d'avance pour votre aide

    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    #_*_coding:Utf-8_*_
     
    #----------IMPORT----------
     
    from random import randrange
    from tkinter import *
     
    #----------FONCTIONS & CLASSES----------
     
    def onSelect(e):
        model = liste_D_Modele.get(liste_D_Modele.curselection())
        anne  = liste_D_Annee.get(liste_D_Annee.curselection())
        print(model,anne)
     
     
     
    def repertoire(vehicule):
        oFichier = open("voitures", "a")     # Ouverture du repertoire de voitures
        oFichier.write(vehicule)
        oFichier.close()                     # Fermeture du repertoire de voitures
     
     
    #----------PROGRAMME PRINCIPAL----------
     
    # Création de la fenêtre principale:
    fen = Tk()
     
     
    intitule_colonne = Label(fen, text="Nouvelle voiture d'occasion :")
    intitule_colonne.grid(padx=10, pady =10)
     
    modele = Label(fen, text="Modèle:")
    modele.grid()
    liste_D_Modele = Listbox(fen)
    liste_D_Modele.grid()
    modele = ["A1", "A2", "A3", "A4", "A5", "A6", "A7", "A8", "TT", "R8"]    # Liste des modeles possibles
    for elem in modele:                # Insertion des éléments dans la liste
        liste_D_Modele.insert(END, elem)
     
    liste_D_Modele.bind('<Double-1>', onSelect)  # Un double clic dans la liste appellera la fonction onSelect
     
     
     
     
     
    annee = Label(fen, text="Année:")
    annee.grid()
    liste_D_Annee = Listbox(fen)
    liste_D_Annee.grid()  
    annee = ["1990", "1991", "1992", "1993", "1994", "1995", "1996", "1997", "1998", "1999", "2000", "2001", "2002", "2003", "2004", "2005", "2006", "2007", "2008", "2009", "2010", "2011", "2012"]                  # Liste des annees possibles
    for elem in annee:                # Insertion des éléments dans la liste
        liste_D_Annee.insert(END, elem)    
     
    liste_D_Annee.bind('<Double-1>', onSelect)  # Un double clic dans la liste appellera la fonction onSelect  
     
     
     
    text_nbreKM = Label(fen, text="Nombre de Kilomètres:")     
    nbreKM = Entry(fen)
    text_nbreKM.grid()
    nbreKM.grid()
    nbreKM.get()
     
     
     
     
     
     
    energie = Label(fen, text="Energie:")
    energie.grid()
    liste_D_Energie = Listbox(fen)
    liste_D_Energie.grid()
    energie = ["Diesel", "Essence", "LPG", "Hybride"]                  # Liste des energies possibles
    for elem in energie:                # Insertion des éléments dans la liste
        liste_D_Energie.insert(END, elem)       
     
    liste_D_Energie.bind('<Double-1>', onSelect)  # Un double clic dans la liste appellera la fonction onSelect
     
     
     
     
    text_carnet = Label(fen, text="Carnet d'entretien:")
    carnet_entretien = Radiobutton(fen, text="", value="oui")
    text_carnet.grid()
    carnet_entretien.grid()
     
     
     
     
     
    couleur = Label(fen, text="Couleur:")
    couleur.grid()
    liste_D_Couleur = Listbox(fen)
    liste_D_Couleur.grid()
    couleur = ["Blanc", "Noir", "Gris", "Bleu", "Rouge", "Verte", "Jaune", "Orange", "Brun"]                  # Liste des couleurs possibles
    for elem in couleur:                # Insertion des éléments dans la liste
        liste_D_Couleur.insert(END, elem)
     
    liste_D_Couleur.bind('<Double-1>', onSelect)  # Un double clic dans la liste appellera la fonction onSelect
     
     
     
    text_cylindree = Label(fen, text="Cylindrée:")
    cylindree = Entry(fen)
    text_cylindree.grid()
    cylindree.grid()
    cylindree.get()
     
     
     
     
    puissance = Entry(fen, text="Puissance:")
    puissance.grid()
    puissance.get()
     
     
     
     
    remarques = Label(fen, text="Remarques:")
    remarques.grid()
     
    vehicule=[]
    caracteristiques=[modele]+[annee]+[nbreKM]+[energie]+[carnet_entretien]+[couleur]+[cylindree]+[puissance]+[remarques]
    vehicule.append(caracteristiques)
     
    bouton_validation = Button(fen, text= "Validez", command=repertoire)  
     
     
     
    fen.mainloop()     # Démarrage du réceptionnaire d’évènements (boucle principale):
    Fichiers attachés Fichiers attachés

  2. #2
    Membre confirmé Avatar de Bear the french
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations forums :
    Inscription : Mai 2012
    Messages : 353
    Points : 633
    Points
    633
    Par défaut
    Bonjour,

    Je suis aussi débutant

    Pour ton programme, le corps principal est grand. Généralement, il est plus petit et fait appel à des fonctions ou des Class.
    La classe, il me semble, est une fabrique/usine d'objet. Donc je pense qu'il aurait fallu faire une Class Voiture().
    Dans cette Class Voiture(), voir pour créer des méthodes comme def modele(), def annee()...
    A faire confirmer mes propos.

    Pour tes listes déroulantes, Il faut que tu fasses un ajout de Tix dans les import :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #----------IMPORT----------
     
    from random import randrange
    from Tkinter import *
    import Tix
    Puis après, change l'ensemble de tes ListBox(fen) par Tix.ComboBox(fen)

    Concernant les grid, qu'est ce que tu ne comprends pas ou qu'est ce que tu voudrais faire ?

    Bertrand

    PS : pour la sauvegarde, je ne sais pas encore faire

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    J'ai avancé voici mon code:



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    #_*_coding:Utf-8_*_
    #----------IMPORT----------
     
     
    from random import randrange
    from tkinter import *
     
     
    #----------FONCTIONS & CLASSES----------
     
     
    def selection(event):
        select=listbox.get(listbox.curselection())
        return select
     
    def repertoire(vehicule):
        oFichier = open("voitures", "a")     # Ouverture du repertoire de voitures
        oFichier.write(vehicule)
        oFichier.close()                     # Fermeture du repertoire de voitures
     
     
    #----------PROGRAMME PRINCIPAL----------
     
     
    fen1 = Tk() # Création de la fenêtre principale:
     
     
    intitule_colonne = Label(fen1, text="Nouvelle voiture d'occasion :")  # Affichage texte dans la fenêtre
    intitule_colonne.grid(row=0, column=1, padx=50, pady=50) # Placement du texte dans la fenêtre
     
     
    modele = Label(fen1, text="Sélectionnez le modèle:") # Affichage texte dans la fenêtre
    modele.grid(row=1, column=1)
     
    listbox_Modele = Listbox(fen1, height=1, width=21)
    scrol = Scrollbar(fen1, command=listbox_Modele.yview)
    listbox_Modele.config(yscrollcommand=scrol.set)
    scrol.grid(row=2, column=2)
     
    listbox_Modele.insert(END, "Sélectionnez le modèle")
    listbox_Modele.grid(row=2, column=1)
     
    for item in ["A1", "A2", "A3", "A4", "A5", "A6", "A7", "A8", "TT", "R8"]:
        listbox_Modele.insert(END, item)
     
    Modele = listbox_Modele.bind('<Double-1>', selection)
     
     
     
     
    annee = Label(fen1, text="Sélectionnez l'année:")  # Affichage texte dans la fenêtre
    annee.grid(row=3, column=1)
     
    listbox_Annee = Listbox(fen1, height=1, width=31)
    scrol = Scrollbar(fen1, command=listbox_Annee.yview)
    listbox_Annee.config(yscrollcommand=scrol.set)
    scrol.grid(row=4, column=2)  
     
    listbox_Annee.insert(END, "Sélectionnez l'année de fabrication")
    listbox_Annee.grid(row=4, column=1)
     
    for item in ["1990", "1991", "1992", "1993", "1994", "1995", "1996", "1997", "1998", "1999", "2000", "2001", "2002", "2003", "2004", "2005", "2006", "2007", "2008", "2009", "2010", "2011", "2012"]: 
        listbox_Annee.insert(END, item)
     
    Annee = listbox_Annee.bind('<Double-1>', selection)
     
     
     
     
    text_nbreKM = Label(fen1, text="Nombre de kilomètres:")     
    nbreKM = Entry(fen1)
    text_nbreKM.grid(row=5, column=1)
    nbreKM.grid(row=6, column=1)
    KM = nbreKM.bind('<Return>')
     
     
     
    energie = Label(fen1, text="Energie:")
    energie.grid(row=7, column=1)
     
    listbox_Energie = Listbox(fen1, height=1, width=28)
    scrol = Scrollbar(fen1, command=listbox_Energie.yview)
    listbox_Energie.config(yscrollcommand=scrol.set)
    scrol.grid(row=8, column=2)
     
    listbox_Energie.insert(END, "Sélectionnez le carburant utilisé")
    listbox_Energie.grid(row=8, column=1)
     
    for item in ["Diesel", "Essence", "LPG", "Hybride"]:
        listbox_Energie.insert(END, item)
     
    Energie = listbox_Energie.bind('<Double-1>', selection)
     
     
     
     
    text_carnet = Label(fen1, text="Carnet d'entretien complet:")
    text_carnet.grid(row=9, column=1)
    carnet_entretien_bouton = Checkbutton(fen1, variable="oui")
    carnet_entretien_bouton.grid(row=10, column=1)
     
     
     
     
    couleur = Label(fen1, text="Couleur:")
    couleur.grid(row=10, column=1)
     
    listbox_Couleur = Listbox(fen1, height=1, width=21)
    scrol = Scrollbar(fen1, command=listbox_Couleur.yview)
    listbox_Couleur.config(yscrollcommand=scrol.set)
    scrol.grid(row=11, column=2)
     
    listbox_Couleur.insert(END, "Sélectionnez la couleur")
    listbox_Couleur.grid(row=11, column=1)
     
    for item in ["Blanc", "Noir", "Gris", "Bleu", "Rouge", "Verte", "Jaune", "Orange", "Brun"]: 
        listbox_Couleur.insert(END, item)
     
    Couleur = listbox_Couleur.bind('<Double-1>', selection)
     
     
     
     
    text_cylindree = Label(fen1, text="Cylindrée (cm3):")
    text_cylindree.grid(row=14, column=1)
    cylindree = Entry(fen1)
    cylindree.grid(row=15, column=1)
    Cylindree = cylindree.bind('<Return>')
     
     
     
    text_puissance = Label(fen1, text="Puissance (Chevaux):")
    text_puissance.grid(row=16, column=1)
    puissance = Entry(fen1, text="Puissance:")
    puissance.grid(row=17, column=1)
    Puissance = puissance.bind('<Return>')
     
     
     
     
    text_remarques = Label(fen1, text="Remarques:") # Affichage texte dans la fenêtre
    text_remarques.grid(row=18, column=1)
    remarques = Entry(fen1)
    remarques.grid(row=19, column=1)
    Remarques = remarques.get()
     
     
     
    voiture = []
    caracteristiques = str(Modele)+str(Annee)+str(KM)+str(Couleur)+str(Cylindree)+str(Puissance)+str(Remarques)
    voiture.append(caracteristiques)
     
     
     
     
     
     
    bouton_validation = Button(fen1, text="Validez") # Creation du bouton validez
    bouton_validation.grid(column=1) # Placement dans la fenêtre du bouton
     
     
     
    fen1.mainloop() # Démarrage du réceptionnaire d’évènements (boucle principale):


    A présent je cherche à enregistrer mes données pour pouvoir réaliser la deuxième partie de ma fenêtre dans laquelle sera listée mes voitures

  4. #4
    Membre confirmé Avatar de Bear the french
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations forums :
    Inscription : Mai 2012
    Messages : 353
    Points : 633
    Points
    633
    Par défaut
    Bonjour,

    Manifestement, tu ne veux pas explorer la piste d'une classe.

    Si tu veux afficher à droite le résultat de tes choix de véhicule, tu peux utiliser des tableaux pour tes données. Chaque véhicule aura son index commun à tous les tableaux.

    J'ai fait ça rapidement, juste pour le modèle et l'année :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    #_*_coding:Utf-8_*_
    #----------IMPORT----------
     
     
    from random import randrange
    from Tkinter import *
     
     
    #----------FONCTIONS & CLASSES----------
     
     
    def selectionmodele(event):
        i= len (selectmodele)
        selectmodele.append(listbox_Modele.get(listbox_Modele.curselection()))
        modele1 = Label(fen1, text=selectmodele[i]) # Affichage texte dans la fenêtre
        modele1.grid(row=1+i, column=6)
     
     
    def selectionannee(event):
        i= len (selectannee)
        selectannee.append(listbox_Annee.get(listbox_Annee.curselection()))
        modele1 = Label(fen1, text=selectannee[i]) # Affichage texte dans la fenêtre
        modele1.grid(row=1+i, column=7)
     
     
    def repertoire(vehicule):
        oFichier = open("voitures", "a")     # Ouverture du repertoire de voitures
        oFichier.write(vehicule)
        oFichier.close()                     # Fermeture du repertoire de voitures
     
     
     
     
    #----------PROGRAMME PRINCIPAL----------
     
     
    fen1 = Tk() # Création de la fenêtre principale:
    selectmodele=[]
    selectannee=[]
    i=0
     
    intitule_colonne = Label(fen1, text="Nouvelle voiture d'occasion :")  # Affichage texte dans la fenêtre
    intitule_colonne.grid(row=0, column=1, padx=50, pady=50) # Placement du texte dans la fenêtre
     
    miseenpage = Label(fen1, text="", height=1, width=21)
    miseenpage.grid(row=2, column=6)
    miseenpage = Label(fen1, text="", height=1, width=21)
    miseenpage.grid(row=2, column=7)
    miseenpage = Listbox(fen1, height=1, width=21)
     
     
    ############ modele  
    modele = Label(fen1, text="Sélectionnez le modèle:") # Affichage texte dans la fenêtre
    modele.grid(row=1, column=1)
     
    listbox_Modele = Listbox(fen1, height=1, width=21)
    scrol = Scrollbar(fen1, command=listbox_Modele.yview)
    listbox_Modele.config(yscrollcommand=scrol.set)
    scrol.grid(row=2, column=2)
     
    listbox_Modele.insert(END, "Sélectionnez le modèle")
    listbox_Modele.grid(row=2, column=1)
     
    for item in ["A1", "A2", "A3", "A4", "A5", "A6", "A7", "A8", "TT", "R8"]:
        listbox_Modele.insert(END, item)
    Modele = listbox_Modele.bind('<Double-1>',selectionmodele)
     
     
     
    ############ annee
    annee = Label(fen1, text="Sélectionnez l'année:")  # Affichage texte dans la fenêtre
    annee.grid(row=3, column=1)
     
    listbox_Annee = Listbox(fen1, height=1, width=31)
    scrol = Scrollbar(fen1, command=listbox_Annee.yview)
    listbox_Annee.config(yscrollcommand=scrol.set)
    scrol.grid(row=4, column=2)  
     
    listbox_Annee.insert(END, "Sélectionnez l'année de fabrication")
    listbox_Annee.grid(row=4, column=1)
     
    for item in ["1990", "1991", "1992", "1993", "1994", "1995", "1996", "1997", "1998", "1999", "2000", "2001", "2002", "2003", "2004", "2005", "2006", "2007", "2008", "2009", "2010", "2011", "2012"]: 
        listbox_Annee.insert(END, item)
     
    Annee = listbox_Annee.bind('<Double-1>', selectionannee)
     
     
    button_quitter =Button(fen1,text='Quitter',command=fen1.quit).grid(column=1) # Placement dans la fenêtre du bouton
     
    fen1.mainloop() # Démarrage du réceptionnaire d’évènements (boucle principale):
    Bertrand

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Il ne me reste plus qu'à supprimer une ligne dans la listbox voici mon code:
    Merci pour ton aide Bertrand !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    #_*_coding:Utf-8_*_
     
     
    #----------IMPORT----------
     
     
    from random import randrange
    from tkinter import *
     
     
    #----------FONCTIONS & CLASSES----------
     
     
    def validation():
        "Fonction qui valide l'achat d'une voiture d'occasion"
        erreurs = "" # Variable qui contiendra les erreurs commises par l'utilisateur
        voiture = "" # Variable qui contiendra toutes les caractéristiques de la voiture achetée
     
     
        modele = listbox_Modele.nearest(0) # Retourne l'indice de la ligne 0 de la listbox du modèle
     
     
     
        valeur_Modele = listbox_Modele.get(modele) # Retourne la valeur de l'indice de la listbox du modèle
        voiture = valeur_Modele + ", " # Ajout de la caractéristique 'modèle'
     
     
     
     
     
     
     
        annee = listbox_Annee.nearest(0) # Retourne l'indice de la ligne 0 de la listbox de l'année
        valeur_Annee = listbox_Annee.get(annee) # Retourne la valeur de l'indice de la listbox de l'année
        voiture += valeur_Annee + ", " # Ajout de la caractéristique 'année'
     
     
     
        nombre_Kilometres = nbreKM.get()
        if nombre_Kilometres == "":
                erreurs = "Veuillez entrer un nombre de kilomètres !\n"    
     
        elif int(nombre_Kilometres) <= 0:
            erreurs = "Le nombre de kilomètres est en dessous ou égal à zéro !\n"
     
        elif int(nombre_Kilometres) > 250000:
            erreurs = "Le nombre de kilomètres est trop élevé !\n"
     
        else:
            voiture += "km:" + str(nombre_Kilometres) + ", "
     
     
     
        energie = listbox_Energie.nearest(0) # Retourne l'indice de la ligne 0 de la listbox de l'énergie
        valeur_Energie = listbox_Energie.get(energie) # Retourne la valeur de l'indice de la listbox de l'énergie
        voiture += valeur_Energie + ", " # Ajout de la caractéristique 'énergie'
     
     
     
        value_Carnet_Entretien = var.get() # Récupération de la valeur de 'carnet_Entretien_Bouton'
        if value_Carnet_Entretien == 1:
            voiture += "Carnet d'entretien complet" + ", " # Si le bouton est coché le carnet d'entretien est complet       
        else:
            voiture += "Carnet d'entretien incomplet" + ", " # Sinon le carnet d'entretien n'est pas complet      
     
     
     
        couleur = listbox_Couleur.nearest(0) # Retourne l'indice de la ligne 0 de la listbox de la couleur
        valeur_Couleur = listbox_Couleur.get(couleur) # Retourne la valeur de l'indice de la listbox de la couleur
        voiture += valeur_Couleur + ", "  # Ajout de la caractéristique 'couleur'
     
     
        puissance = puissance_Entree.get() # Récupération de la valeur de la puissance
        if puissance == "":
                erreurs += "Veuillez entrer une puissance !"    
     
        elif int(puissance) <= 50:
            erreurs += "Impossible, veuillez entrer une puissance correcte !"
     
        elif int(puissance) > 450:
            erreurs += "Impossible, veuillez entrer une puissance correcte !"
     
        else:
            voiture += "Puissance:" + str(puissance) + "Ch."     
     
     
     
        if erreurs != "":
            Remarques.configure(text=erreurs, fg="red", font="bold") # Signale les erreurs à l'utilisateur
        else:
            Remarques.configure(text="")
            voiture += "\n"
            can2 = Canvas(fen1, width=500, height=400, bg="grey")
            achat(voiture)
     
     
     
     
    def achat(vehicule):
        oFichier = open("voitures1", "a")     # Ouverture du repertoire de voitures 1
        oFichier.write(vehicule)             # Insertion des voitures dans le 1er fichier
        oFichier.close()                     # Fermeture du repertoire de voitures 1
     
    def lectureFichier():
        oFichier1 = open("voitures1","r")
        voiture_Listbox = oFichier1.readlines()
        oFichier1.close()
        return voiture_Listbox
     
    def vendre():
        erreurs2 = ""
     
        oFichier1 = open("voitures1", "r")
        voiture = oFichier1.readlines()
        oFichier1.close()
        oFichier2 = open("voitures1", "w")
        voiture_A_Vendre = listbox_Parc.nearest(0)
        valeur_Voiture_A_Vendre = listbox_Parc.get(voiture_A_Vendre)
        i=0
        while i < len(voiture):
            if voiture[i] != valeur_Voiture_A_Vendre:
                oFichier1.write(voiture[i])
        oFichier2.close()
        delete = listbox_Parc.delete(voiture_A_Vendre)
        prix = vente_Entree.get()
        if prix == "":
            erreurs2 += "Veuillez entrez un prix de vente correct"
        elif prix <= 1000:
            erreurs2 += "Veuillez entrez un prix de vente supérieur à 1000 €"
        elif prix > 35000:
            erreurs2 += "Veuillez entrez un prix de vente inférieur à 35000 €"
        else:
            Remarques.configure(text=erreurs2, fg="red", font="bold") # Signale les erreurs à l'utilisateur
     
     
     
    #----------PROGRAMME PRINCIPAL----------
     
     
    fen1 = Tk() # Création de la fenêtre principale
    can1 = Canvas(fen1, width=562, height=200) # Création du 1er canvas
    can2 = Canvas(fen1, width=500, height=400, bg="grey") # Création du 2ième canvas
     
     
    can1.grid(row=0, column=3, rowspan=1) # Placement du 1er canvas dans la fenêtre
    can2.grid(row=1, column=3, rowspan=15) # Placement du 2ième canves dans la fenêtre
     
     
    photo_Ban = PhotoImage(file="banniere.gif") # Definition de l'image à insérer
    img1 = can1.create_image(281, 165, image=photo_Ban) # Insertion de l'image sur le canvas 1
     
    photo = PhotoImage(file="A1.gif") # Definition de l'image à insérer
    img2 = can2.create_image(250, 200, image=photo) # Insertion de l'image sur le canvas 2
     
    intitule_colonne1 = Label(fen1, text="Achat d'une voiture d'occasion:", font="bold")  # Affichage texte dans la fenêtre
    intitule_colonne1.grid(row=0, column=1, padx=50, pady=50) # Placement du texte dans la fenêtre
     
     
     
    modele = Label(fen1, text="Sélectionnez le modèle:") # Widget texte
    modele.grid(row=1, column=1) # Placement du Widget dans la fenêtre
     
    listbox_Modele = Listbox(fen1, height=1, width=2) # Widget Listbox pour le modèle
    scrol_Modele = Scrollbar(fen1, command=listbox_Modele.yview) # Scrollbar pour le modèle
    listbox_Modele.config(yscrollcommand=scrol_Modele.set) # Configuration du Widget Listbox avec la ScrollBar
    scrol_Modele.grid(row=2, column=2) # Placement de la Scrollbar dans la fenêtre
     
    listbox_Modele.grid(row=2, column=1) # Placement du Widget Listbox dans la fenêtre
     
    for item in ["A1", "A2", "A3", "A4", "A5", "A6", "TT"]:
        listbox_Modele.insert(END, item) # Insertion des données possibles dans la Listbox 
     
     
     
    annee = Label(fen1, text="Sélectionnez l'année:")  # Widget texte
    annee.grid(row=3, column=1) # Placement du Widget dans la fenêtre
     
    listbox_Annee = Listbox(fen1, height=1, width=4) # Widget Listbox pour l'année
    scrol = Scrollbar(fen1, command=listbox_Annee.yview) # Scrollbar pour l'année
    listbox_Annee.config(yscrollcommand=scrol.set) # Configuration du Widget Listbox avec la ScrollBar
    scrol.grid(row=4, column=2) # Placement de la Scrollbar dans la fenêtre
     
    listbox_Annee.grid(row=4, column=1) # Placement du Widget Listbox dans la fenêtre
     
    for item in ["1990", "1991", "1992", "1993", "1994", "1995", "1996", "1997", "1998", "1999", "2000", "2001", "2002", "2003", "2004", "2005", "2006", "2007", "2008", "2009", "2010", "2011", "2012"]: 
        listbox_Annee.insert(END, item) # Insertion des données possibles dans la Listbox
     
     
     
     
    text_nbreKM = Label(fen1, text="Nombre de kilomètres:") # Widget texte      
    text_nbreKM.grid(row=5, column=1) # Placement du Widget texte dans la fenêtre
    nbreKM = Entry(fen1, width=7) # Widget permettant à l'utilisateur d'entrer le nombre de km
    nbreKM.grid(row=6, column=1) # Placement du Widget Entry
     
     
     
     
     
     
    energie = Label(fen1, text="Energie:") # Widget texte
    energie.grid(row=7, column=1) # Placement du Widget texte dans la fenêtre
     
    listbox_Energie = Listbox(fen1, height=1, width=6) # Widget Listbox pour l'énergie
    scrol = Scrollbar(fen1, command=listbox_Energie.yview) # Scrollbar pour l'énergie
    listbox_Energie.config(yscrollcommand=scrol.set) # Configuration du Widget Listbox avec la ScrollBar
    scrol.grid(row=8, column=2) # Placement de la Scrollbar dans la fenêtre
     
    listbox_Energie.grid(row=8, column=1) # Placement du Widget Listbox dans la fenêtre
     
    for item in ["Diesel", "Essence", "LPG", "Hybride"]:
        listbox_Energie.insert(END, item) # Insertion des données possibles dans la Listbox
     
     
     
     
    text_Carnet = Label(fen1, text="Carnet d'entretien complet:") # Widget texte
    text_Carnet.grid(row=9, column=1) # Placement du Widget texte dans la fenêtre
    var=IntVar()
    carnet_Entretien_Bouton = Checkbutton(fen1, variable=var) # Widget 'bouton à cocher'
    carnet_Entretien_Bouton.grid(row=10, column=1) # Placement du Widget 'Checkbutton'
     
     
     
     
    couleur = Label(fen1, text="Couleur:") # Widget texte
    couleur.grid(row=11, column=1) # Placement du Widget texte dans la fenêtre
     
    listbox_Couleur = Listbox(fen1, height=1, width=7) # Widget Listbox pour la couleur
    scrol = Scrollbar(fen1, command=listbox_Couleur.yview) # Scrollbar pour la couleur
    listbox_Couleur.config(yscrollcommand=scrol.set) # Configuration du Widget Listbox avec la ScrollBar
    scrol.grid(row=12, column=2) # Placement de la Scrollbar dans la fenêtre
     
    listbox_Couleur.grid(row=12, column=1) # Placement du Widget Listbox dans la fenêtre
     
    for item in ["Blanche", "Noire", "Grise", "Bleue", "Rouge", "Verte", "Jaune", "Orange", "Brune"]: 
        listbox_Couleur.insert(END, item) # Insertion des données possibles dans la Listbox
     
     
     
     
    text_puissance = Label(fen1, text="Puissance (Chevaux):") # Widget texte
    text_puissance.grid(row=13, column=1) # Placement du Widget texte dans la fenêtre
    puissance_Entree = Entry(fen1, text="50") # Widget Entry pour la puissance
    puissance_Entree.grid(row=14, column=1) # Placement du Widget Entry dans la fenêtre
     
     
     
     
    bouton_validation = Button(fen1, text="VALIDEZ", font="bold", command=validation) # Creation du bouton 'VALIDEZ'
    bouton_validation.grid(row=15, column=1) # Placement du bouton dans la fenêtre 
     
    Remarques = Label(fen1, width=75, height=3, bg="white") # Widget pour afficher les erreurs
    Remarques.grid(row=16, column=1) # Placement du Widget dans la fenêtre
     
     
     
     
    intitule_colonne2 = Label(fen1, text="Parc de voitures:", font="bold")  # Affichage texte dans la fenêtre
    intitule_colonne2.grid(row=0, column=4, padx=50, pady=50) # Placement du texte dans la fenêtre
     
     
    parc = Label(fen1, text="Voitures disponibles:") # Widget texte
    parc.grid(row=2, column=4) # Placement du Widget texte dans la fenêtre
     
    listbox_Parc = Listbox(fen1, height=1, width=50) # Widget Listbox pour l'énergie
    scrol = Scrollbar(fen1, command=listbox_Parc.yview) # Scrollbar pour l'énergie
    listbox_Parc.config(yscrollcommand=scrol.set) # Configuration du Widget Listbox avec la ScrollBar
    scrol.grid(row=3, column=5) # Placement de la Scrollbar dans la fenêtre
     
    listbox_Parc.grid(row=3, column=4) # Placement du Widget Listbox dans la fenêtre
     
    elem = lectureFichier()
     
    for item in elem:
        listbox_Parc.insert(END, item) # Insertion des données possibles dans la Listbox
     
     
    text_vente = Label(fen1, text="Prix de vente (€):") # Widget texte
    text_vente.grid(row=4, column=4) # Placement du Widget texte dans la fenêtre
    vente_Entree = Entry(fen1, text="35") # Widget Entry pour la puissance
    vente_Entree.grid(row=5, column=4) # Placement du Widget Entry dans la fenêtre
     
     
    bouton_vendre = Button(fen1, text="VENDRE", font="bold") # Creation du bouton 'VENDRE'
    bouton_vendre.grid(row=6, column=4) # Placement du bouton dans la fenêtre
     
     
    fen1.mainloop() # Démarrage du réceptionnaire d’évènements (boucle principale)

Discussions similaires

  1. Recherche voiture occasion petit budget
    Par gueulederack dans le forum Petites annonces
    Réponses: 8
    Dernier message: 19/12/2013, 13h09
  2. [MCD] Gestion location voiture
    Par charles95 dans le forum Schéma
    Réponses: 2
    Dernier message: 29/11/2013, 00h51
  3. Cherche script PHP de voitures d'occasions
    Par ldaniele dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 12/01/2007, 22h44
  4. Réponses: 9
    Dernier message: 05/12/2006, 10h00
  5. [MySQL] Gestion de stock, garage
    Par issamaziz dans le forum Langage SQL
    Réponses: 2
    Dernier message: 19/05/2006, 10h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo