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 :

Petite question pour un grand pas [Python 3.X]


Sujet :

Python

  1. #1
    Invité
    Invité(e)
    Par défaut Petite question pour un grand pas
    Bonjour à tous

    Je me pose une question essentielle portant sur l'utilisation du curseur.
    Je sais, que les propriétés permettent le mouvement du curseur automatisé.

    Mon problème est que j'aimerais bien gérer le ou les curseurs ailleurs que dans la classe principale "Gammique(Tk):"
    La classe principale "Gammique(Tk):" : C'est le tableau de bord

    Je voudrais aussi avoir la possibilité de ne pas inclure "command=fonction", au curseur à cause de l'automatisme.

    En créant une classe héritière "ProGamme(Gammique):"
    La classe héritière "ProGamme(Gammique):" La partie du programme qui gère les utilisations

    Comment détecter l'utilisation du curseur, changer le curseur de place.




    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
    # 
    # Application gammique évolutive
    # Version 1 : Calculer les gammes
    #
    from tkinter import *
     
    # Dessine une note
    def cercle(can,x,y,r):
        can.create_oval(x-r,y-r,x+r,y+r)
     
    class Gammique(Tk):
        """ Ramification Gammique """
        def __init__(self):
            Tk.__init__(self)
            "Tableau de bord"
            self.title('Entité Gammique :')
            # Fenêtre écran_résultat (
            self.can=Canvas(self,bg='ivory', height=500,width=750)
            self.can.pack(side=RIGHT)
            # Bouton gamme_audio
            Button(self,text ='Radio').pack()
            # Les notes cursives scalpha : Graduations gérées.
            self.sca1=Scale(self,length =250,orient = HORIZONTAL,label ='C',
                  troughcolor ='black',sliderlength =20,showvalue =0,
                  from_ =0,to =5,tickinterval =1).pack()
            self.sca2=Scale(self,length =250,orient = HORIZONTAL,label ='D',
                  troughcolor ='green',sliderlength =20,showvalue =0,
                  from_ =-1,to =4,tickinterval =1).pack()
            self.sca3=Scale(self,length =250,orient = HORIZONTAL,label ='E',
                  troughcolor ='blue',sliderlength =20,showvalue =0,
                  from_ =-2,to =3,tickinterval =1).pack()
            self.sca4=Scale(self,length =250,orient = HORIZONTAL,label ='F',
                  troughcolor ='grey',sliderlength =20,showvalue =0,
                  from_ =-2,to =3,tickinterval =1).pack()
            self.sca5=Scale(self,length =250,orient = HORIZONTAL,label ='G',
                  troughcolor ='red',sliderlength =20,showvalue =0,
                  from_ =-3,to =2,tickinterval =1).pack()
            self.sca6=Scale(self,length =250,orient = HORIZONTAL,label ='A',
                  troughcolor ='orange',sliderlength =20,showvalue =0,
                  from_ =-4,to =1,tickinterval =1).pack()
            self.sca7=Scale(self,length =250,orient = HORIZONTAL,label ='B',
                  troughcolor ='yellow',sliderlength =20,showvalue =0,
                  from_ =-5,to =0,tickinterval =1).pack()
            # Concerne les notes scahuit : Graduations gérées.
            self.sca8=Scale(self,length =250,orient = HORIZONTAL,label ='CDEFGAB',
                  troughcolor ='white',sliderlength =20,showvalue =0,
                  from_ =-12,to =12,tickinterval =1).pack()
            # Bouton gamme_naturelle
            Button(self,text ='Zéro').pack()
            # Texte significatif
            self.lab=Label(self,text="Barre des tâches ").pack(side=RIGHT)
            # Tableau réunissant les tables diatoniques
            self.gammes =['1101110','0201110','2001110','4000010','1011110','0111110','1030010',
              '1210010','2200010','0012110','1300010','0021110','1220000','0040010',
              '1400000','1002110','0102110','1130000','0003110','1100210','0200210',
              '0202010','2000210','1010210','1012010','1112000','2003000','0020210',
              '1202000','1003010','1001210','1103000','1121000','0100310','0010310',
              '0001310','0002210','1000310','0022010','0000410','0023000','1004000',
              '0005000','1101020','1101200','0201020','0201200','2001020','2001200',
              '1011020','1011200','1100120','1100300','1102100','1120100','0200030',
              '1002200','1001030','1300100','1000130','0003020','0021200','1000040',
              '0003200','1100030','3000020']
     
     
    prgm = Gammique()
    prgm.mainloop()

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 305
    Par défaut
    Salut,

    La classe Gammique est l'interface, une classe Core (ou Main, ou CommeTuVeux) n'a aucun besoin d'en hériter. Tu t'emmêleras les pinceaux d'ailleurs.

    Tu lui fais simplement créer l'interface:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    class Core(objet):
        def __init__(self):
            self.ui = Gammique()
            # tu peux maintenant contrôler les widgets
            self.ui.sca1.........

  3. #3
    Membre émérite
    Homme Profil pro
    Aucune activité
    Inscrit en
    Novembre 2011
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Aucune activité

    Informations forums :
    Inscription : Novembre 2011
    Messages : 505
    Par défaut
    Citation Envoyé par toumus Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
            self.sca1=Scale(self,length =250,orient = HORIZONTAL,label ='C',
                  troughcolor ='black',sliderlength =20,showvalue =0,
                  from_ =0,to =5,tickinterval =1).pack()
    Bonjour,
    Désolé de ne rien comprendre à tout cela…
    Cependant, ainsi que dans la majorité des affectations de ce script, il y a manifestement une erreur dans cette ligne…

    Clodion

  4. #4
    Invité
    Invité(e)
    Par défaut
    Merci
    Voici un exemple d'utilisation : L'utilisateur avance de deux crans le curseur sca1, et de ce fait le curseur sca2 doit alors avancer lui aussi d'un cran. Comment le programme peut savoir lequel des curseurs à été utilisé ? Mon idée était de placer à la fin de chaque curseur command=fonction. Ainsi à chaque fois qu'il y a un mouvement menant à une unique fonction, comment savoir lequel des curseurs à été bougé.

    Autrement, il est vrai que pour gérer les curseurs. Je dois remplacer quelques valeurs par des variables locales.

    Get, set, ...?

  5. #5
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 305
    Par défaut
    Ce que veux dire Clodion (qui, contrairement à moi, à lu ton code) c'est que la référence de ton curseur, par exemple sca1 est le retour de la méthode pack() soit None.

    Pour vérifier, fais simplement print sca1 après l'avoir créé.

    Il faut donc mettre sca1.pack() sur une seconde ligne.


    Oui, pour chaque curseur tu dois définir une command=quelquechose avec un callback différent pour chaque curseur.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Merci du coup de main

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    self.sca1=Scale(self,length =250,orient = HORIZONTAL,label ='C',
                  troughcolor ='black',sliderlength =20,showvalue =0,
                  from_ =0,to =5,tickinterval =1)
            self.sca1.pack()
    Plus print ("sca1 ",self.sca1), çà ne donne pas toujours le même résultat. Sur 3 essais :_sca1 .44709360_sca1 .46347696_sca1 .44512688


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    self.sca1=Scale(self,length =250,orient = HORIZONTAL,label ='C',
                  troughcolor ='black',sliderlength =20,showvalue =0,
                  from_ =0,to =5,tickinterval =1).pack()
    Plus print ("sca1 ",self.sca1), çà donne :_sca1 None

    Est-ce que NONE est une bonne réponse ?

    Ce que je veux c'est afficher self.sca1.schowvalue "qui est égal à zéro

  7. #7
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 698
    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 698
    Par défaut
    Salut,

    Citation Envoyé par toumus Voir le message
    Plus print ("sca1 ",self.sca1), çà ne donne pas toujours le même résultat. Sur 3 essais :_sca1 .44709360_sca1 .46347696_sca1 .44512688
    print appliqué à un widget affiche le nom de la "variable" Tk qui lui a été associée.
    Par défaut, ce nom est construit avec str(id(self)).
    Il correspond à l'adresse mémoire de l'objet qui à l'avantage d'être "unique" au moins pendant toute la durée de vie de l'objet.

    Pourquoi ne pas essayer de faire ce qu'à proposé VinsS? Ca devrait aider à réaliser ce que vous voulez.

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

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Pourquoi ne pas essayer de faire ce qu'à proposé VinsS? Ca devrait aider à réaliser ce que vous voulez.
    Et, voilà c'est essayé... Mais je prends mon temps pour obtenir une bonne interface utilisateur.
    Car après çà, je me lance à la gestion des données obtenues...

    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
    # -*- coding: utf-8 -*-
     
    # Application gammique évolutive
    # Version 1 : Calculer les gammes
    #
    from tkinter import *
     
    # Dessine une note
    # def cercle(can,x,y,r):
    #     can.create_oval(x-r,y-r,x+r,y+r)
     
    class GamMusic(objet):
        """ Ramification Gammique """
        def __init__(self):
            self.ui=Gammique()
            "Tableau de bord"
            self.ui.title('Entité Gammique :')
            # Fenêtre écran_résultat (
            self.ui.can=Canvas(self,bg='ivory', height=500,width=750)
            self.ui.can.pack(side=RIGHT)
            # Bouton gamme_audio
            Button(self,text ='Radio').pack()
            # Les notes cursives scalpha : Graduations gérées.
            self.ui.sca1=Scale(self,length =250,orient = HORIZONTAL,label ='C',
                  troughcolor ='black',sliderlength =20,showvalue =2,
                  from_ =0,to =5,tickinterval =1)
            self.ui.sca1.pack()
            self.ui.sca2=Scale(self,length =250,orient = HORIZONTAL,label ='D',
                  troughcolor ='green',sliderlength =20,showvalue =0,
                  from_ =-1,to =4,tickinterval =1)
            self.ui.sca2.pack()
            self.ui.sca3=Scale(self,length =250,orient = HORIZONTAL,label ='E',
                  troughcolor ='blue',sliderlength =20,showvalue =0,
                  from_ =-2,to =3,tickinterval =1)
            self.ui.sca3.pack()
            self.ui.sca4=Scale(self,length =250,orient = HORIZONTAL,label ='F',
                  troughcolor ='grey',sliderlength =20,showvalue =0,
                  from_ =-2,to =3,tickinterval =1)
            self.ui.sca4.pack()
            self.ui.sca5=Scale(self,length =250,orient = HORIZONTAL,label ='G',
                  troughcolor ='red',sliderlength =20,showvalue =0,
                  from_ =-3,to =2,tickinterval =1)
            self.ui.sca5.pack()
            self.ui.sca6=Scale(self,length =250,orient = HORIZONTAL,label ='A',
                  troughcolor ='orange',sliderlength =20,showvalue =0,
                  from_ =-4,to =1,tickinterval =1)
            self.ui.sca6.pack()
            self.ui.sca7=Scale(self,length =250,orient = HORIZONTAL,label ='B',
                  troughcolor ='yellow',sliderlength =20,showvalue =0,
                  from_ =-5,to =0,tickinterval =1)
            self.ui.sca7.pack()
            # Concerne les notes scahuit : Graduations gérées.
            self.ui.sca8=Scale(self,length =250,orient = HORIZONTAL,label ='CDEFGAB',
                  troughcolor ='white',sliderlength =20,showvalue =0,
                  from_ =-12,to =12,tickinterval =1)
            self.ui.sca8.pack()
            # Bouton gamme_naturelle
            Button(self,text ='Zéro').pack()
            # Texte significatif
            self.ui.lab=Label(self,text="Barre des tâches ").pack(side=RIGHT)
            # Tableau réunissant les tables diatoniques
            self.ui.gammes =['1101110','0201110','2001110','4000010','1011110','0111110','1030010',
              '1210010','2200010','0012110','1300010','0021110','1220000','0040010',
              '1400000','1002110','0102110','1130000','0003110','1100210','0200210',
              '0202010','2000210','1010210','1012010','1112000','2003000','0020210',
              '1202000','1003010','1001210','1103000','1121000','0100310','0010310',
              '0001310','0002210','1000310','0022010','0000410','0023000','1004000',
              '0005000','1101020','1101200','0201020','0201200','2001020','2001200',
              '1011020','1011200','1100120','1100300','1102100','1120100','0200030',
              '1002200','1001030','1300100','1000130','0003020','0021200','1000040',
              '0003200','1100030','3000020']
            sca=self.ui.sca1
            print ("sca1 ",sca)
     
     
    prgm = GamMusic()
    prgm.mainloop()
    Et, j'obtiens çà

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    >>> 
    Traceback (most recent call last):
      File "C:\Users\Vincent\Documents\developpez\develHM\progamclasse2.py", line 12, in <module>
        class GamMusic(objet):
    NameError: name 'objet' is not defined
    >>>
    Dernière modification par Invité ; 03/05/2015 à 13h35.

  9. #9
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 305
    Par défaut
    Peut-être object ?

    Parfois il m'arrive de mélanger écriture et pensée.

  10. #10
    Membre émérite
    Homme Profil pro
    Aucune activité
    Inscrit en
    Novembre 2011
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Aucune activité

    Informations forums :
    Inscription : Novembre 2011
    Messages : 505
    Par défaut
    Citation Envoyé par VinsS Voir le message
    Peut-être object ?
    Bonsoir,
    Oui, sinon il y a toujours :
    help("class")
    Ce qui permet de voir de quoi cela parle, et de découvrir, effectivement qu'une lettre avait été omise…
    Mais bon, un peu d'intérêt et de recherche et la question ne se posait pas…

    Clodion

  11. #11
    Invité
    Invité(e)
    Par défaut
    Peut-être object ?
    Bonsoir,
    Oui, sinon il y a toujours :
    help("class")
    Ce qui permet de voir de quoi cela parle, et de découvrir, effectivement qu'une lettre avait été omise…
    Mais bon, un peu d'intérêt et de recherche et la question ne se posait pas…
    Désolé de mon incompétence, mais il y a un début à tout
    Sinon c'est vrai : Mais bon, un peu d'intérêt et de recherche et la question ne se posait pas…
    Autrement : Sans réponse

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    >>> help("classe")
    no Python documentation found for 'classe'
     
    >>> help("scale")
    no Python documentation found for 'scale'

  12. #12
    Membre émérite
    Homme Profil pro
    Aucune activité
    Inscrit en
    Novembre 2011
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Aucune activité

    Informations forums :
    Inscription : Novembre 2011
    Messages : 505
    Par défaut
    Citation Envoyé par toumus Voir le message
    Autrement : Sans réponse

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    >>> help("classe")
    no Python documentation found for 'classe'
     
    >>> help("scale")
    no Python documentation found for 'scale'
    Bonjour,
    "help("class")" fonctionne mieux sans "e" à classe.
    "help(tkinter.Scale)" prend une majuscule (c'est une classe). D'autre part, c'est une classe de tkinter… d'où la nécessité de pointer. Sauf, bien sûr si un import global de tkinter est fait (du style "from tkinter import *").

    Normalement dans tous les tutos, c'est une choses qui est abordée très rapidement car c'est très efficace (en particulier pour les options et le fonctionnement)…
    Clodion

  13. #13
    Invité
    Invité(e)
    Par défaut
    Voilà, çà y est !

    J'arrive à lire le requin, en l'appâtant avec un GET.
    Et ce sans hameçonnage, ou bien de COMMANDATURE
    Il ne resta plus qu'à tatouer la peau du requin
    Grâce à la balise de repérage sca1 localisant son focus

    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
    # -*- coding: utf-8 -*-
     
    # Application gammique évolutive
    # Version 1 : Calculer les gammes
    #
    from tkinter import *
     
    class Gammique(Tk):
        """ Ramification Gammique """
        def __init__(self):
            Tk.__init__(self)
            "Tableau de bord"
            self.title('Entité Gammique :')
            # Fenêtre écran_résultat
            self.can=Canvas(self,bg='ivory', height=500,width=750)
            self.can.pack(side=RIGHT)
            # Bouton gamme_audio
            Button(self,text ='Radio').pack()
            # Les notes cursives scalpha : Graduations gérées.
            self.sca1=Scale(self,length =250,orient = HORIZONTAL,label ='C',
                  troughcolor ='black',sliderlength =20,showvalue =2,
                  from_ =0,to =5,tickinterval =1)
            self.sca1.pack()
            sca=self.sca1.get()
            print ("sca1 ",sca)
    prgm = Gammique()
    prgm.mainloop()
    Documentation Anglais
    Un lien http://tmml.sourceforge.net/doc/tk/

    Documentation Français
    Un lien http://wfr.tcl.tk/8
    Dernière modification par Invité ; 05/05/2015 à 17h43.

  14. #14
    Invité
    Invité(e)
    Par défaut
    Pour démarrer sagement, j'ai suivi la ligne de vos conseils. Et, j'en suis content.
    On y voit plus clair, ainsi à chaque fois que le curseur est déplacé. Il active "command=self.fscac".
    Mais, je me pose une question sans réponse de mon côté. Parce que dans la fonction du curseur activé par l'utilisateur(fscac), il y aura la possibilité de modifier la valeur d'un autre curseur. Ma question est la suivante :
    La fonction fscac qui modifie la position d'un autre curseur, à ce moment.
    Est-ce, que cet autre curseur modifié va lancer la commande de sa fonction fscad ?

    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
    # -*- coding: utf-8 -*-
     
    # Application gammique évolutive
    # Version 1 : Calculer les gammes
    #
    from tkinter import *
     
    class Gammique(Tk):
        """ Ramification Gammique """
        def __init__(self):
            Tk.__init__(self)
            "Tableau de bord"
            self.title('Entité Gammique :')
            # Fenêtre écran_résultat
            self.can=Canvas(self,bg='ivory', height=500,width=750)
            self.can.pack(side=RIGHT)
            # Bouton gamme_audio
            Button(self,text ='Radio').pack()
            # Les notes cursives scalpha : Graduations gérées.
            self.sca1=Scale(self,length =250,orient = HORIZONTAL,label ='C',
                  troughcolor ='black',sliderlength =20,showvalue =2,
                  from_ =0,to =5,tickinterval =1,command=self.fscac)
            self.sca1.pack()
        def fscac(self,xc):
            sca=xc
            print ("sca1 ",sca)
    Gammique().mainloop()

  15. #15
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 305
    Par défaut
    Citation Envoyé par toumus Voir le message
    La fonction fscac qui modifie la position d'un autre curseur, à ce moment.
    Est-ce, que cet autre curseur modifié va lancer la commande de sa fonction fscad ?

    Quand tu as essayé ça a donné quoi ?

  16. #16
    Invité
    Invité(e)
    Par défaut
    Comme je l'ai dit, je ne veux pas commencer un grand programme n'importe comment.
    Je vois qu'on peut s'y prendre de plusieurs façons, et étant donné que çà représente de nombreuses lignes.
    Il est tout à fait naturel, que je cherche de la simplicité et ainsi mieux exporter les idées de conception

    La vie ne m'appartient pas, mais ma self.ui.vie OUI

    J'ai essayé GET pour déplacer un seul curseur, çà marche.
    Les curseurs vont m'aider à calculer les gammes, il est peut être utile de vous dire que je commence à peine.
    Je sais quoi faire, et je suis entrain de construire les procédés.
    Ce que j'ai fait :
    Mettre au point un calcul diatonique naturel en python 'pr0diat.py'
    De documenter le système gammique, ce qui est visible sur mon blog
    De mettre à l'épreuve sur "développez.com" le curseur de DO
    De travailler sur les procédés en cours : Bouton Curseur, Panneau
    Bouton : Zéro (remise à zéro diatonique)
    Curseurs : Déplacer les notes (CDEFGAB)
    Panneau : Afficher les résultats (image plus texte)
    Ce que nous ne voyons pas encore :
    Tout ceci c'est pour un Open Source que je veux personnellement faire évoluer
    Tout ceci à cause de l'expérience que j'attends pour tout pouvoir exploiter
    Il y a tout ce que je sais, et ce qui peut être réalisé

    Toute mon avancée publiée se trouve sur mon blog : http://www.developpez.net/forums/blogs/307889-toumus/

  17. #17
    Invité
    Invité(e)
    Par défaut
    Comme j'avance avec des erreurs de débutant dans ce langage, qui de plus est non anglophone
    J'ai ajouté un curseur pour démontrer la capacité de transfert de données, mais sauf que là...

    message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    La  0
    Xc  0
    Exception in Tkinter callback
    Traceback (most recent call last):
      File "C:\Python34\lib\tkinter\__init__.py", line 1533, in __call__
        return self.func(*args)
      File "C:\Users\Vincent\Documents\developpez\develHM\progamclasse2a.py", line 73, in scanote1
        if do > re+1 :self.sca2.set(2)
    TypeError: unsupported operand type(s) for +: 'module' and 'int'
    Que j'obtiens en exécutant cela :
    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
    # -*- coding: utf-8 -*-
     
    # Application gammique évolutive
    # Version 1 : Calculer les gammes
    #
    from tkinter import *
     
    class Gammique(Tk):
        """ Ramification Gammique """
        def __init__(self):
            Tk.__init__(self)
            "Tableau de bord"
            self.title('Entité Gammique :')
            # Fenêtre écran_résultat
            self.can=Canvas(self,bg='ivory', height=500,width=750)
            self.can.pack(side=RIGHT)
            # Bouton gamme_audio
            Button(self,text ='Radio').pack()
            # Les notes cursives scalpha : Graduations gérées.
            self.sca1=Scale(self,length =250,orient = HORIZONTAL,label ='C',
                  troughcolor ='black',sliderlength =20,showvalue =2,
                  from_ =0,to =5,tickinterval =1,command=self.fscac)
            self.sca1.pack()
            self.sca2=Scale(self,length =250,orient = HORIZONTAL,label ='D',
                  troughcolor ='green',sliderlength =20,showvalue =1,
                  from_ =-1,to =4,tickinterval =1,command=self.fscad)
            self.sca2.pack()
        def fscac(self,do):
            print ("Do ",do)
            if do > re+1 :self.sca2.set(do-1)
            if do < si : self.sca7.set(do)
        def fscad(self,re):
            print ("Ré ",re)
            if re > mi+1 :self.sca3.set(re-1)
            if re < do-1 : self.sca1.set(re+1)
    Gammique().mainloop()
    #
    Une solution m'aiderait à avancer, merci

  18. #18
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 305
    Par défaut
    Le nom re ne semble pas exister dans ton code mais le message d'erreur dit qu'il s'agit d'un module.

    J'en déduis que ton code importe le module re.

  19. #19
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 698
    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 698
    Par défaut
    Citation Envoyé par VinsS Voir le message
    J'en déduis que ton code importe le module re.
    Ce n'est qu'un effet de bord du "from tkinter import *"

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

  20. #20
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 305
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Ce n'est qu'un effet de bord du "from tkinter import *"

    - W
    Utile à savoir ça.

    Et une raison de plus de déconseiller les import *

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

Discussions similaires

  1. Petit question pour un lien
    Par dedepsg dans le forum Langage
    Réponses: 6
    Dernier message: 28/11/2007, 10h32
  2. petite question pour gros soucis
    Par bakman dans le forum SharePoint
    Réponses: 0
    Dernier message: 19/10/2007, 15h30
  3. Quelques petites questions pour bien fignoler mon appli
    Par Juho06 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 08/03/2007, 10h24
  4. Réponses: 16
    Dernier message: 05/08/2006, 11h07
  5. Petite question pour Backup
    Par chicken92000 dans le forum Administration
    Réponses: 2
    Dernier message: 16/09/2004, 16h10

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