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

wxPython Discussion :

[wxPython] bouton


Sujet :

wxPython

  1. #1
    Membre éclairé
    Avatar de airod
    Homme Profil pro
    Gérant Associé, DMP Santé et Directeur technique
    Inscrit en
    Août 2004
    Messages
    767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Gérant Associé, DMP Santé et Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 767
    Points : 891
    Points
    891
    Par défaut [wxPython] bouton
    Pour commencé, je sais utiliser un logiciel pour créer des gui Wxpython, c'est pas la meilleure facon d'apprendre.
    J'utilise Boaconstructor, mais il me parait etre incomplet.
    je cherche comment associer un clic droit (simple clic) a un bouton wxBitmapButton, mais dans Boa, rien, il n'y a rien! J'ai bien un clic gauche, une dousble clic droit et gauche, mais pas de simple clic droit.
    si qqu'un peu me renseigner!

    je continu a chercher, mais pour l'instant j'ai rien trouvé.

    merci.

  2. #2
    Membre averti
    Avatar de Alain_72
    Inscrit en
    Août 2004
    Messages
    180
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 180
    Points : 342
    Points
    342
    Par défaut
    Boa Constructor comme tout RAD met automatiquement à disposition du développeur, les méthodes et attributs des objets choisis dans sa palette, et seulement ceux-là.

    Tu ne disposes pas d'un évenement click droit sur le wx.BitmapButton, tout simplement parce qu'il n'y est pas implémenté en tant que tel.

    Mais wxPython est bien plus puissant qu'il n'y paraît du premier abord, notamment en matière de gestion des évènements, car à tous les objets wxPython peuvent être liés une multitude de comportements d'utilisateurs au travers de la méthode .Bind().

    Dans ton cas, pour lier l'appui du bouton droit de la souris lorsque le curseur est sur ton BitmapButton tu n'as qu'à rajouter la ligne suivante dans la méthode d'initialisation de ta classe:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    self.Bind(wx.EVT_RIGHT_DOWN, self.FonctionAssociee, Iddubouton)
    Et definir une nouvelle fonction dans cette classe pour gérer cet évènement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    def FonctionAssociee(self, evt):
        ...
    Je ne traite pas les problèmes techniques par MP...
    Les forums sont là pour ça...

    Les contributions du bipede

  3. #3
    Membre éclairé
    Avatar de airod
    Homme Profil pro
    Gérant Associé, DMP Santé et Directeur technique
    Inscrit en
    Août 2004
    Messages
    767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Gérant Associé, DMP Santé et Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 767
    Points : 891
    Points
    891
    Par défaut
    ok, je viens d'essayer mais ca me retourne un erreur, je n'ai peut etre pas importé le module necessaire?!

    est ce que l'on fait appel a un module, pour utiliser Bind?
    voici mon code:
    self.bitmapButton2 = wxBitmapButton(bitmap=wxBitmap(u'icone/desktop.png',
    wxBITMAP_TYPE_PNG), id=wxID_WXFRAME1BITMAPBUTTON2,
    name='bitmapButton2', parent=self.window1, pos=wxPoint(32, 0),
    size=wxSize(30, 30), style=wxBU_AUTODRAW
    self.bitmapButton2.SetToolTipString(u'Bureautique')
    self.bitmapButton2.SetThemeEnabled(True)
    self.bitmapButton2.SetBackgroundColour(wxColour(95, 159, 159))
    EVT_BUTTON(self.bitmapButton2, wxID_WXFRAME1BITMAPBUTTON2,
    self.OnBitmapButton2Button)
    self.bitmapButton2.Bind(wx.EVT_RIGHT_DOWN, self.OnBitmapButton2Buttonright, wxID_WXFRAME1BITMAPBUTTON2)
    ......


    .....
    def OnBitmapButton2Buttonright(self, event):
    self.Close()


    et voici l'erreur:
    Traceback (most recent call last):
    File "/home/benoit/Desktop/DOC/Octoz_Start_0.1.4/OS.py", line 25, in -toplevel-
    main()
    File "/home/benoit/Desktop/DOC/Octoz_Start_0.1.4/OS.py", line 21, in main
    application = BoaApp(0)
    File "/usr/lib/python2.3/site-packages/wxPython/wx.py", line 1951, in __init__
    _wxStart(self.OnInit)
    File "/home/benoit/Desktop/DOC/Octoz_Start_0.1.4/OS.py", line 15, in OnInit
    self.main = GUI_OS.create(None)
    File "/home/benoit/Desktop/DOC/Octoz_Start_0.1.4/GUI_OS.py", line 12, in create
    return wxFrame1(parent)
    File "/home/benoit/Desktop/DOC/Octoz_Start_0.1.4/GUI_OS.py", line 96, in __init__
    self._init_ctrls(parent)
    File "/home/benoit/Desktop/DOC/Octoz_Start_0.1.4/GUI_OS.py", line 44, in _init_ctrls
    self.bitmapButton2.Bind(wx.EVT_RIGHT_DOWN, self.OnBitmapButton2Buttonright, wxID_WXFRAME1BITMAPBUTTON2)
    AttributeError: wxBitmapButton instance has no attribute 'Bind'


    l'important est que je comprenne bien (je débute!)
    merci

  4. #4
    Membre averti
    Avatar de Alain_72
    Inscrit en
    Août 2004
    Messages
    180
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 180
    Points : 342
    Points
    342
    Par défaut
    En fait, tu dois utiliser la méthode .Bind() de ta wxFrame en pointant sur l'ID de ton bouton. Comme ceci:

    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
    self.bitmapButton2 = wxBitmapButton(bitmap=wxBitmap(u'icone/desktop.png',
                                        wxBITMAP_TYPE_PNG),
                                        id=wxID_WXFRAME1BITMAPBUTTON2,
                                        name='bitmapButton2',
                                        parent=self.window1,
                                        pos=wxPoint(32, 0),
                                        size=wxSize(30, 30),
                                        style=wxBU_AUTODRAW)
    self.bitmapButton2.SetToolTipString(u'Bureautique')
    self.bitmapButton2.SetThemeEnabled(True)
    self.bitmapButton2.SetBackgroundColour(wxColour(95, 159, 159))
    EVT_BUTTON(self.bitmapButton2,
               wxID_WXFRAME1BITMAPBUTTON2,
               self.OnBitmapButton2Button)
    self.Bind(wxEVT_RIGHT_DOWN,
              self.OnBitmapButton2Buttonright,
              id = wxID_WXFRAME1BITMAPBUTTON2)
    ......
    Je ne traite pas les problèmes techniques par MP...
    Les forums sont là pour ça...

    Les contributions du bipede

  5. #5
    Membre éclairé
    Avatar de airod
    Homme Profil pro
    Gérant Associé, DMP Santé et Directeur technique
    Inscrit en
    Août 2004
    Messages
    767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Gérant Associé, DMP Santé et Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 767
    Points : 891
    Points
    891
    Par défaut je pige toujours pas.....
    en mettant le code que vous m'avais donné ci dessus, j'ai toujours une erreur en retour!
    Traceback (most recent call last):
    File "/home/benoit/Desktop/DOC/Octoz_Start_0.1.4/OS.py", line 25, in -toplevel-
    main()
    File "/home/benoit/Desktop/DOC/Octoz_Start_0.1.4/OS.py", line 21, in main
    application = BoaApp(0)
    File "/usr/lib/python2.3/site-packages/wxPython/wx.py", line 1951, in __init__
    _wxStart(self.OnInit)
    File "/home/benoit/Desktop/DOC/Octoz_Start_0.1.4/OS.py", line 15, in OnInit
    self.main = GUI_OS.create(None)
    File "/home/benoit/Desktop/DOC/Octoz_Start_0.1.4/GUI_OS.py", line 12, in create
    return wxFrame1(parent)
    File "/home/benoit/Desktop/DOC/Octoz_Start_0.1.4/GUI_OS.py", line 96, in __init__
    self._init_ctrls(parent)
    File "/home/benoit/Desktop/DOC/Octoz_Start_0.1.4/GUI_OS.py", line 44, in _init_ctrls
    self.Bind(wxEVT_RIGHT_DOWN, self.OnBitmapButton2ButtonRight, id=wxID_WXFRAME1BITMAPBUTTON2)
    AttributeError: wxFrame1 instance has no attribute 'Bind'

    si je comprend bien, la méthode Bind, n'est pas défini dans ma frame wxFrame1!
    Je vais continuer a chercher, mais si vous pouvez m'en dire plus, ca serait, sympa.... merci

  6. #6
    Membre éclairé
    Avatar de airod
    Homme Profil pro
    Gérant Associé, DMP Santé et Directeur technique
    Inscrit en
    Août 2004
    Messages
    767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Gérant Associé, DMP Santé et Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 767
    Points : 891
    Points
    891
    Par défaut
    en fait, le code est simple, il faut chercher un peu.....

    Merci, de m'avoir eclairé!

    voici le code:
    EVT_RIGHT_DOWN(self.bitmapButton2,self.OnBitmapButton2Buttonright)


    ........
    def OnBitmapButton2Buttonright(self, event):
    self.Close()

Discussions similaires

  1. Probleme Bouton en wxpython
    Par waldi084 dans le forum wxPython
    Réponses: 1
    Dernier message: 13/05/2013, 08h05
  2. [wxpython] selectionner un toggle bouton a la fois
    Par hysah dans le forum wxPython
    Réponses: 7
    Dernier message: 03/02/2006, 13h49
  3. [wxpython] bitmap bouton qui reste pressé
    Par hysah dans le forum wxPython
    Réponses: 3
    Dernier message: 20/01/2006, 20h41
  4. [wxPython] evènement bouton
    Par python_man dans le forum wxPython
    Réponses: 10
    Dernier message: 16/05/2005, 14h53
  5. [wxpython][wx.frame] mettre une image sur un bouton
    Par Kyti dans le forum wxPython
    Réponses: 7
    Dernier message: 02/05/2005, 12h13

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