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

Python Discussion :

[Python 3.x] Problème mise à jour label


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Touche à tout
    Inscrit en
    Mai 2017
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Touche à tout

    Informations forums :
    Inscription : Mai 2017
    Messages : 479
    Par défaut [Python 3.x] Problème mise à jour label
    Bonjour,

    J'ai un label qui est vide à l'ouverture de mon application, puis en fonction du choix de ma ComboBox je souhaite afficher le résultat de ma requête sql dans ce fameux label...

    Soit j'ai toujours PY_VAR0 qui est affiché ou rien du tout...

    Avez-vous rencontré ce genre de problème? Ci-joint mon code.

    Merci par avance pour vos retours.

    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
    import sqlite3
    from configparser import ConfigParser
    import tkinter as tk
    from tkinter import *
    from tkinter import ttk
    from tkinter.ttk import *
    from tkinter import font
    from tkinter import Listbox
    import ftplib
    import os
    from datetime import datetime, timedelta
    from pytz import timezone
    import string
    import array
    from io import BytesIO
    import numpy
    from tkinter import messagebox
     
    #Application parameters 
    #FTP parametrers
    CFG_FILE             = ConfigParser()
    CFG_FILE.optionxform = str
    CFG_FILE.read('ini/application.ini')
    print(os.getlogin()+' connected')
    APPLICATION_NAME     = CFG_FILE.get('APPLICATION_PARAMETERS', 'APPLICATION_NAME')
    APP_SHORT_NAME       = CFG_FILE.get('APPLICATION_PARAMETERS', 'APPLICATION_SHORT_NAME')
     
    def SQLConnexion():
        #Connexion to SQLite database
        #print('Connexion to local SQLite GMAO.db')
        global QR_TOOL, Curseur
        QR_TOOL = []
        DBconnexion = sqlite3.connect('SQL/GMAO.db')
        Curseur = DBconnexion.cursor()
     
        Curseur.execute("SELECT * FROM idtools order by QR_TOOL asc;")
        TOOLS = Curseur.fetchall()
        for tool in TOOLS:
            QR_TOOL.append(tool[2])
            #print(tool)
     
        DisplayGUI()
     
    def DisplayGUI():
        global main_window, Mainfont
        main_window = tk.Tk()
        main_window.state("zoomed")
        main_window.title(APPLICATION_NAME)
        main_window.iconbitmap(r'ini/logo.ico')
        Mainfont       = font.Font(main_window, family='Courier new', size='10')
     
        #Création de la barre de menu:
        barremenu = tk.Menu(main_window)
     
        #Création du menu "Fichier"
        fichier = tk.Menu(barremenu, tearoff=0)
        barremenu.add_cascade(label="Gestion des outillages", underline=0, menu=fichier)
        fichier.add_command(label="Créer un outillage", underline=0, command=Toolcreation)
        fichier.add_command(label="Saisir une panne", underline=0, command=AddBreakdown)
        fichier.add_command(label="Saisir une intervention", underline=0, command=AddIntervention)
     
        #Création menu statistiques
        stat = tk.Menu(barremenu, tearoff=0)
        barremenu.add_cascade(label="Statistiques", underline=0, menu=stat)
        stat.add_command(label="Emplacement outillage sur ligne", underline=0, command = WhereIam)
        stat.add_command(label="Pareto par ligne", underline=0, command = Pareto_Line)
        stat.add_command(label="Pareto par outillage", underline=0, command = Pareto_Tool)
        stat.add_command(label="Listing outillage", underline=0, command = Listing_Tool)
     
        #Création du menu "Aide"
        aide = tk.Menu(barremenu, tearoff=0)
        barremenu.add_cascade(label="Aide", underline=0, menu=aide)
        aide.add_command(label="Manuel", underline=0, command = manuel)
        aide.add_command(label="A propos", underline=0, command = apropos)
     
        #Afficher le menu
        main_window.config(menu=barremenu)
     
        #Other control
        LabelOfChoiceTool = ttk.Label(main_window, text="Select a tool:", font=Mainfont)
        LabelOfChoiceTool.place(x=5, y=10)
     
        Combo_tool = ttk.Combobox(values=QR_TOOL, state="readonly", font=Mainfont)
        Combo_tool.place(x=160, y=10)
        Combo_tool.bind('<<ComboboxSelected>>', LoadDataOf)
        global VarInfoTool
        VarInfoTool   = tk.StringVar()
        LabelInfoTool = ttk.Label(main_window, text=VarInfoTool, font=Mainfont)
        LabelInfoTool.place(x=360, y=10)
     
        main_window.mainloop()
     
    ########################################################################################################### 
    def Toolcreation():    messagebox.showinfo(APP_SHORT_NAME, "Vous allez créer un outillage")
    def AddBreakdown():    messagebox.showinfo(APP_SHORT_NAME, "Vous allez ajouter une panne")
    def AddIntervention(): messagebox.showinfo(APP_SHORT_NAME, "Vous allez saisir une réparation")
    def WhereIam():        messagebox.showinfo(APP_SHORT_NAME, "Connaître l'emplacement de votre outillage")
    def Pareto_Line():     messagebox.showinfo(APP_SHORT_NAME, "Pareto des pannes par ligne")
    def Pareto_Tool():     messagebox.showinfo(APP_SHORT_NAME, "Pareto des pannes par outillages")
    def Listing_Tool():    messagebox.showinfo(APP_SHORT_NAME, "Liste des outillages existants")
     
    def manuel():          print ("manuel")
    def apropos():         print ("apropos")
     
    def LoadDataOf(eventObject):
        #print(eventObject.widget.get())
        SELECTED_QR_TOOL = eventObject.widget.get()
        Curseur.execute("SELECT * FROM idtools WHERE QR_TOOL='"+SELECTED_QR_TOOL+"';")
        ToolInfos = Curseur.fetchall()
        for infos in ToolInfos:
            VarInfoTool.set(infos[0])
            print(infos)
     
    ###########################################################################################################    
    if __name__ == "__main__":
        SQLConnexion()

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 743
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 743
    Par défaut
    Salut,

    Citation Envoyé par Supernatural Voir le message
    Soit j'ai toujours PY_VAR0 qui est affiché ou rien du tout...

    Avez-vous rencontré ce genre de problème?
    Relisez votre documentation préférée: pour associer une variable tkinter à votre Label, c'est textvariable et non text.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre éclairé
    Homme Profil pro
    Touche à tout
    Inscrit en
    Mai 2017
    Messages
    479
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Touche à tout

    Informations forums :
    Inscription : Mai 2017
    Messages : 479
    Par défaut
    Du coup:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    LabelInfoTool = ttk.Label(main_window, text='', font=Mainfont, relief=GROOVE)
        LabelInfoTool.place(x=360, y=10)
     
        LabelInfoTool.config(text=UpdatedtextLabel)
    Merci!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème mise à jour textvariable d'un Label
    Par Le ChIeN fOu dans le forum Tkinter
    Réponses: 7
    Dernier message: 23/05/2009, 23h32
  2. Réponses: 6
    Dernier message: 29/05/2006, 14h22
  3. Problème mise à jour onglet
    Par auriolbeach dans le forum Access
    Réponses: 1
    Dernier message: 25/12/2005, 13h10
  4. Problème mise à jour vers IE6 sous W2K
    Par lio33 dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 11/10/2005, 11h51
  5. [HTML] Problème mise à jour des fichiers en cache
    Par El Riiico dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 05/09/2005, 17h00

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