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 :

Bouton Quitter ne fonctionne pas sous OSX


Sujet :

Tkinter Python

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Bouton Quitter ne fonctionne pas sous OSX
    Bonjour!

    Je dois faire tourner ce programme sous python:

    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
    from tkinter import *
    from random import randrange
     
     
    def drawline():
        global x1, x2, y1, y2, coul
        can1.create_line(x1, y1, x2, y2, width=2, fill=coul)
        y2, y1= y2+10, y1-10
     
     
    def changecolor():
        global coul
        pal=['purple','cyan','maroon','green','red','blue','orange','yellow']
        c=randrange(8)
        coul=pal[c]
     
     
     
    x1, y1, x2, y2= 10, 190, 190, 10
    coul = 'dark green'
     
    fen1=Tk()
     
    can1 = Canvas(fen1, bg='dark grey', height=200, width=200)
    can1.pack(side=LEFT)
    bou1 = Button(fen1, text='Quitter', command=fen1.quit)
    bou1.pack(side=BOTTOM)
    bou2 = Button(fen1, text='Tracer une ligne', command=drawline)
    bou2.pack()
    bou3 = Button(fen1, text='Autre couleur', command=changecolor)
    bou3.pack()
     
    fen1.mainloop()
    fen1.destroy()
    Aucun problème sous Windows 7, par contre sous MacOSX, le bouton 'Quitter' ne fonctionne pas!
    Quelqu'un aurait-il une solution ?

    Merci d'avance

  2. #2
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 608
    Points : 2 072
    Points
    2 072
    Par défaut
    Sous linux, c'est pareil : il faut faire "fen1.destroy"
    Pas d'aide par mp.

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par marco056 Voir le message
    Sous linux, c'est pareil : il faut faire "fen1.destroy"
    Sous Ubuntu (un des Linux que j'ai chez moi), le quit fonctionne très bien: l'appel à mainloop se termine.
    Sous OSX, je n'ai pas essayé, mais il n'est pas exclu que la version installée par défaut ne fonctionne pas.

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

  4. #4
    Membre chevronné
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 608
    Points : 2 072
    Points
    2 072
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Sous Ubuntu (un des Linux que j'ai chez moi), le quit fonctionne très bien: l'appel à mainloop se termine.
    Sous OSX, je n'ai pas essayé, mais il n'est pas exclu que la version installée par défaut ne fonctionne pas.

    - W
    Oups, pardon : je n'avais pas vu la dernière ligne.
    Je corrige, cela fonctionne comme cela.
    On peut se passer de la dernière ligne en mettant ce que j'ai dit avant à moins que cela ne soit pas pythonique ou tkinteriste...
    Pas d'aide par mp.

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par marco056 Voir le message
    On peut se passer de la dernière ligne en mettant ce que j'ai dit avant à moins que cela ne soit pas pythonique ou tkinteriste...
    Si .quit ne permet pas de sortir de la mainloop, çà s'appelle un bug.
    Çà peut poser problème aux applications qui "comptent" là dessus.
    Et savoir comment le corriger pourrait aider ceux qui sont embêtés par çà.
    De toutes façons, sur OSX, il est préférable d'utiliser le TCL/Tk d'ActiveState avant de se prendre le chou.

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

Discussions similaires

  1. [AJAX] Bouton exemple qui ne fonctionne pas
    Par alaninho dans le forum jQuery
    Réponses: 5
    Dernier message: 20/05/2014, 10h05
  2. bouton "submit" qui ne fonctionne pas
    Par brice97431 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 14/03/2012, 08h41
  3. Mon bouton "Action" qui ne fonctionne pas
    Par Yachas dans le forum wxPython
    Réponses: 2
    Dernier message: 29/01/2010, 11h52
  4. Bouton qui ne fonctionne pas
    Par presser dans le forum Excel
    Réponses: 7
    Dernier message: 20/02/2009, 09h57
  5. Boutons de commande qui ne fonctionnent pas
    Par Shakti dans le forum IHM
    Réponses: 4
    Dernier message: 24/11/2006, 16h29

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