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

EDI/RAD Python Discussion :

Débuter avec Tkinter


Sujet :

EDI/RAD Python

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 121
    Points : 80
    Points
    80
    Par défaut Débuter avec Tkinter
    Bonjour,

    Je voudrai travailler avec des élèves de lycée avec tkinter. En regardant les docs, on trouve 2 "écoles" :

    http://sebsauvage.net/python/gui/index_fr.html
    et
    http://www.ac-creteil.fr/util/progra...n-tkinter.html

    La première semble assez complexe à aborder : utilisation de classes et compagnies, et je préfèrerai partir sur la seconde... Est-ce un mauvais choix ?

    Merci pour vos idées,
    Vincent

  2. #2
    Membre éprouvé
    Avatar de afranck64
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 592
    Points : 1 006
    Points
    1 006
    Par défaut
    Il y a egalement ceci
    http://tkinter.unpythonic.net/wiki/F...ect=StartSeite
    que je trouve interessant,
    et puis pour t exercer, tu peux editer le projet a ce lien: http://www.developpez.net/forums/d11...4/#post6331585
    Win 10 64 bits / Linux Mint 18, - AMD A6 Quad: Py27 / Py35
    CONTENU D'UNE QUESTION
    Exemples:
    - Configuration (système d'exploitation, version de Python et des bibliothèques utilisées)
    - Code source du morceau de programme où il y a un bogue
    - Ligne de code sur laquelle le bogue apparaît
    - Erreur complète retournée pas l'interpréteur Python
    - Recherche déjà effectuée (FAQ, Tutoriels, ...)
    - Tests déjà effectués

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 121
    Points : 80
    Points
    80
    Par défaut
    Sympa ton petit jeu, puis-je proposer cette idée à un groupe d'élève en projet (pas d'un week-end pour eux )....

    Pour revenir à ma question : y a-t-il un inconvénient à programmer sans classe avec tkinter, comme dans ce lien : http://www.ac-creteil.fr/util/progra...n-tkinter.html ?

  4. #4
    Membre éprouvé
    Avatar de afranck64
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 592
    Points : 1 006
    Points
    1 006
    Par défaut
    Alors, techniquement je pense que non, mais par principe je pense que l ideal, c est avec des classes car dans le cas contraire on prend de mauvaises, tres mauvaises habitudes.

    Vous pouvez bien evidemment propose le jeu comme exercice, il n y a pas de soucis. J aimerais juste pouvoir y jouer une fois termine

    ps: vous avez du faire une erreur en postant le lien.
    Win 10 64 bits / Linux Mint 18, - AMD A6 Quad: Py27 / Py35
    CONTENU D'UNE QUESTION
    Exemples:
    - Configuration (système d'exploitation, version de Python et des bibliothèques utilisées)
    - Code source du morceau de programme où il y a un bogue
    - Ligne de code sur laquelle le bogue apparaît
    - Erreur complète retournée pas l'interpréteur Python
    - Recherche déjà effectuée (FAQ, Tutoriels, ...)
    - Tests déjà effectués

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 121
    Points : 80
    Points
    80
    Par défaut
    OK, je n'y manquerai pas ! le lien était celui-ci : http://www.ac-creteil.fr/util/progra...n-tkinter.html l'approche me parait beaucoup plus abordable avec des élèves de secondes.

    Vincent

  6. #6
    Membre éprouvé
    Avatar de afranck64
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2009
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 592
    Points : 1 006
    Points
    1 006
    Par défaut
    Cela a l air interessant mais je maintiens qu avec les classes, vous ferez d une pierre 2 coups (et peut etre plus )

    Gerard Swinnen: Tkinter et les classes
    Win 10 64 bits / Linux Mint 18, - AMD A6 Quad: Py27 / Py35
    CONTENU D'UNE QUESTION
    Exemples:
    - Configuration (système d'exploitation, version de Python et des bibliothèques utilisées)
    - Code source du morceau de programme où il y a un bogue
    - Ligne de code sur laquelle le bogue apparaît
    - Erreur complète retournée pas l'interpréteur Python
    - Recherche déjà effectuée (FAQ, Tutoriels, ...)
    - Tests déjà effectués

  7. #7
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonjour,

    Pour répondre à la question: Non, il n'y a pas d'inconvénient. Juste une limitation pour ce qui est du code Python.
    Par contre pour ce qui est des liens je trouve celui de l'Académie de Créteil super light par rapport à la démarche de SAUVAGE.
    Et pour ce qui est de celui avec les classes il y a trop de recherche pour faire correspondre Tkinter et wxPython. A son défendant il est plus détaillé/expliqué.
    Celui ci étant utilisable sans classe
    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
    #!/usr/bin/python
    # -*- coding: iso-8859-1 -*-
    #
    #
    import Tkinter
     
    def OnButtonClick():
        root.labelVariable.set(root.entryVariable.get()+
                               " (You clicked the button)" )
        root.entry.focus_set()
        root.entry.selection_range(0, Tkinter.END)
     
    def OnPressEnter(root,event):
        root.labelVariable.set(root.entryVariable.get()+
                               " (You pressed ENTER)" )
        root.entry.focus_set()
        root.entry.selection_range(0, Tkinter.END)
     
    root = Tkinter.Tk()
    root.grid()
     
    root.entryVariable = Tkinter.StringVar()
    root.entry = Tkinter.Entry(root, textvariable=root.entryVariable)
    root.entry.grid(column=0, row=0, sticky='EW')
    root.entry.bind("<Return>", OnPressEnter)
    root.entryVariable.set("Enter text here.")
     
    button = Tkinter.Button(root, text="Click me !", command=OnButtonClick)
    button.grid(column=1,row=0)
     
    root.labelVariable = Tkinter.StringVar()
    label = Tkinter.Label(root, textvariable=root.labelVariable,
                          anchor="w", fg="white", bg="blue")
    label.grid(column=0, row=1, columnspan=2, sticky='EW')
    root.labelVariable.set("Hello !")
     
    root.grid_columnconfigure(0, weight=1)
    root.resizable(True, False)
    root.update()
    root.geometry(root.geometry())       
    root.entry.focus_set()
    root.entry.selection_range(0, Tkinter.END)
     
    root.title('my application')
    root.mainloop()
    Il serait peut être plus sympa d'en suivre les grandes lignes.

    Le but étant de trouver un sujet 'captivant' pour des secondes.

    En fait cela me tente bien un petit tuto pédagogique donc si vous avez une idée...

    @+
    Merci d'utiliser le forum pour les questions techniques.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 121
    Points : 80
    Points
    80
    Par défaut
    Bonjour,

    Merci pour ton exemple, par contre il ne fonctionne pas chez moi, j'ai le message :
    Traceback (most recent call last):
    File "C:\Documents and Settings\IANTE\Mes documents\AmiensPython 2.0\Portable\App\lib\lib-tk\Tkinter.py", line 1410, in __call__
    return self.func(*args)
    TypeError: OnPressEnter() takes exactly 2 arguments (1 given)
    Pour ce qui est d'un sujet avec les élèves, je propose cette année une initiation à la programmation en option à un groupe d'élèves de seconde autour du thème de la programmation de jeux. Ils ont des idées (qu'il faut même canaliser ) !

  9. #9
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Oups

    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
    #!/usr/bin/python
    # -*- coding: iso-8859-1 -*-
    #
    #
    import Tkinter
     
    def OnButtonClick():
        root.labelVariable.set(root.entryVariable.get()+
                               " (You clicked the button)" )
        root.entry.focus_set()
        root.entry.selection_range(0, Tkinter.END)
     
    def OnPressEnter(event):
        root.labelVariable.set(root.entryVariable.get()+
                               " (You pressed ENTER)" )
        root.entry.focus_set()
        root.entry.selection_range(0, Tkinter.END)
     
    root = Tkinter.Tk()
    root.grid()
     
    root.entryVariable = Tkinter.StringVar()
    root.entry = Tkinter.Entry(root, textvariable=root.entryVariable)
    root.entry.grid(column=0, row=0, sticky='EW')
    root.entry.bind("<Return>", OnPressEnter)
    root.entryVariable.set("Enter text here.")
     
    button = Tkinter.Button(root, text="Click me !", command=OnButtonClick)
    button.grid(column=1,row=0)
     
    root.labelVariable = Tkinter.StringVar()
    label = Tkinter.Label(root, textvariable=root.labelVariable,
                          anchor="w", fg="white", bg="blue")
    label.grid(column=0, row=1, columnspan=2, sticky='EW')
    root.labelVariable.set("Hello !")
     
    root.grid_columnconfigure(0, weight=1)
    root.resizable(True, False)
    root.update()
    root.geometry(root.geometry())       
    root.entry.focus_set()
    root.entry.selection_range(0, Tkinter.END)
     
    root.title('my application')
    root.mainloop()
    Merci d'utiliser le forum pour les questions techniques.

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 121
    Points : 80
    Points
    80
    Par défaut
    Euh, je n'ai plus d'erreur, mais il ne se passe rien Je n'ai même pas le "hello" affiché au départ

  11. #11
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Citation Envoyé par magicvinni Voir le message
    je n'ai plus d'erreur, mais il ne se passe rien
    Vous avez la fenêtre ?
    Merci d'utiliser le forum pour les questions techniques.

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 121
    Points : 80
    Points
    80
    Par défaut
    Oui, j'ai le champ texte, le bouton et le label, mais le label est bleu sans texte. Apparemment ça vient du textvariable=root.labelVariable, car si je met text="Helo" là du texte apparait.

  13. #13
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Supprimez la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    root.entry.selection_range(0, Tkinter.END)
    Ou

    Modifiez la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    label = Tkinter.Label(root, textvariable=root.labelVariable,
                          anchor="w", fg="white", bg="blue")
    En
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    label = Tkinter.Label(root, textvariable=root.labelVariable, anchor="w")
    Pour voir...
    Merci d'utiliser le forum pour les questions techniques.

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 121
    Points : 80
    Points
    80
    Par défaut
    Bonjour,

    ça ne change rien (sauf que le label est gris dans la 2nde modif), mais ce n'est pas grave. J'utilise Python 2.6.1 et Tkinter revision 67083

    Vincent

  15. #15
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 121
    Points : 80
    Points
    80
    Par défaut
    Bonjour,

    Je viens de comprendre (en partie) pourquoi ça ne marchait pas : j'utilise portable python et pyscripter et j'ai le choix entre 4 moteurs python :
    Interne
    Distant
    Distant (Tk)
    Distant (Wx)

    et j’utilisais distant tk qui me semblait le mieux adapté... et non, si je choisit interne alors tout fonctionne... Par contre j'aimerai bien comprendre pourquoi ça ne fonctionne pas avec l'autre moteur

  16. #16
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonjour,

    Dans la FAQ de PyScripter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Debugging Wx and Tkinter scirpts using the remote Wx and Tk engines
    
    As mentioned above the Wx and Tk engines activate a main loop and replace the MainLoop with a dummy function.
    ...
    To debug event code of Wx and Tkinter scripts use the standard remote engine.
    PyScripter remplace le gestionnaire d’événement.

    @+
    Merci d'utiliser le forum pour les questions techniques.

  17. #17
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Bonjour,

    Citation Envoyé par magicvinni Voir le message
    Oui, j'ai le champ texte, le bouton et le label, mais le label est bleu sans texte. Apparemment ça vient du textvariable=root.labelVariable, car si je met text="Helo" là du texte apparait.
    En fait vous faites bien de la signaler: L'utilisation de la classe Variable Tkinter est ici inutile.
    En fait la classe Variable n'est utile que pour suivre une variable (simplement ou avec un callback), servir de conteneur (méthodes set()/get(). Eviter global par exemple).
    Dans l'exemple suivant le label n'est pas nommé (pour Python) et on utilise root.labelVariable comme textvariable (voir OnEvent).
    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
    #!/usr/bin/python
    # -*- coding: iso-8859-1 -*-
    #
    #
    import Tkinter
     
    def SelectEntry():
        root.entry.focus_set()
        root.entry.selection_range(0, Tkinter.END)
        root.update()
     
    def OnEvent(title):
        root.labelVariable.set("%s %s"% (root.entry.get(), title))
        SelectEntry()
     
    root = Tkinter.Tk()
    root.grid()
     
    root.entryVariable = Tkinter.StringVar()
    root.entry = Tkinter.Entry(root, textvariable=root.entryVariable)
    root.entry.grid(column=0, row=0, sticky='EW')
    root.entry.bind("<Return>", lambda e: OnEvent("(You pressed ENTER)"))
    root.entry.bind("<KP_Enter>", lambda e: OnEvent("(You pressed ENTER)"))
    root.entryVariable.set("Enter text here.")
     
    Tkinter.Button(root, text="Click me !", command=lambda: OnEvent("(You clicked the button)")).grid(column=1,row=0)
     
    root.labelVariable = Tkinter.StringVar()
    Tkinter.Label(root, textvariable=root.labelVariable,
                  anchor="w", fg="white", bg="blue").grid(column=0,
                                                          row=1,
                                                          columnspan=2,
                                                          sticky='EW')
    root.labelVariable.set("Hello !")
     
    root.grid_columnconfigure(0, weight=1)
    root.resizable(True, False)
    root.update()
    root.geometry(root.geometry())       
    SelectEntry()
     
    root.title('my application')
    root.mainloop()
    (Vous remarquerez le même principe avec le command du Widget Button)
    Mais pour ce qui est demander au code son utilisation est inutile
    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
    #!/usr/bin/python
    # -*- coding: iso-8859-1 -*-
    #
    #
    import Tkinter as Tk
     
    def SelectEntry():
        entry.focus_set()
        entry.selection_range(0, Tk.END)
        root.update()
     
    def OnEvent(title):
        label.config(text="%s %s"% (entry.get(), title))
        SelectEntry()
     
    root = Tk.Tk()
    root.grid()
     
    entry = Tk.Entry(root, text="Enter text here.")
    entry.grid(column=0, row=0, sticky='EW')
    entry.bind("<Return>", lambda e: OnEvent("(You pressed ENTER)"))
    entry.bind("<KP_Enter>", lambda e: OnEvent("(You pressed ENTER)"))
     
    Tk.Button(root, text="Click me !",
              command=lambda: OnEvent("(You clicked the button)")
              ).grid(column=1,row=0)
     
    label = Tk.Label(root, text="Hello !", anchor="w", fg="white", bg="blue")
    label.grid(column=0, row=1, columnspan=2, sticky='EW')
     
    root.grid_columnconfigure(0, weight=1)
    root.resizable(True, False)
    SelectEntry()
    root.geometry(root.geometry())
    root.title('my application')
    root.mainloop()
    A vrais dire je ne vois pas pourquoi c'est utiliser ici puisque cela 'casse' la ressemblance avec le code wx
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        def OnButtonClick(self,event):
            self.label.SetLabel( self.entry.GetValue() + " (You clicked the button)" )
     
        def OnPressEnter(self,event):
            self.label.SetLabel( self.entry.GetValue() + " (You pressed ENTER)" )
    Ceci dit c'est un tuto très suivit. La preuve en est que vous retrouverez ce genre de construction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    class simpleapp_tk(Tkinter.Tk):
        def __init__(self,parent):
            Tkinter.Tk.__init__(self,parent)
            self.parent = parent
            self.initialize()
     
        def initialize(self):
            pass 
     
    if __name__ == "__main__":
        app = simpleapp_tk(None)
        app.title('my application')
        app.mainloop()
    pas mal de fois dans le sous forum Tkinter.

    @+
    Merci d'utiliser le forum pour les questions techniques.

  18. #18
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 121
    Points : 80
    Points
    80
    Par défaut
    Bonjour,

    Merci beaucoup pour ces précisions. Le plus dommage c'est qu'avec le moteur distant, c'est la librairie turtle et matplotlib qui ne marchent pas (enfin, si mais pas de fois de suite, il faut ré-initialiser le moteur entre 2 lancers)

    Il faut donc changer de moteur selon l'utilisation. J'ai continué à creuser et c'est pareil, impossible de mettre une image sur un label sans passer par le moteur distant

    Vincent

  19. #19
    Expert confirmé Avatar de PauseKawa
    Homme Profil pro
    Technicien Help Desk, maintenance, réseau, système et +
    Inscrit en
    Juin 2006
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien Help Desk, maintenance, réseau, système et +
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 725
    Points : 4 005
    Points
    4 005
    Par défaut
    Pour ce qui est des images je penche plus pour une histoire de référence.
    Pour le mainloop je ne sait pas comment PyScripter encapsule cela mais si ce n'est que le mainloop de l'instance qui est remplacé vous pourriez utiliser celui de tk: root.tk.mainloop()
    Merci d'utiliser le forum pour les questions techniques.

  20. #20
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 121
    Points : 80
    Points
    80
    Par défaut
    Pour le moteur distant (tk), je viens d'avoir la réponse par l'auteur de PyScripter, il faut remplacer le
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    root = Tkinter.Toplevel()
    Si ça peut servir à d'autres

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. débuter avec Visual .NET
    Par akimmm dans le forum MFC
    Réponses: 4
    Dernier message: 28/10/2005, 04h53
  2. [GridBagLayout] Comment débuter avec ce layout
    Par Bighobbit dans le forum Débuter
    Réponses: 12
    Dernier message: 28/09/2005, 17h13
  3. [MFC je crois] Débuter avec visual c++
    Par flzox dans le forum MFC
    Réponses: 6
    Dernier message: 28/06/2005, 18h31
  4. [JAXP] Débuter avec XML et Java
    Par Fleep dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 04/05/2005, 11h27
  5. Débuter avec Java
    Par reptils dans le forum Débuter avec Java
    Réponses: 9
    Dernier message: 11/07/2004, 21h26

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