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 :

[wx.BitmapButton] Transparence du bouton


Sujet :

wxPython

  1. #1
    Membre averti Avatar de Saintux
    Homme Profil pro
    Chercheur ( de travail )
    Inscrit en
    Janvier 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chercheur ( de travail )
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 39
    Par défaut [wx.BitmapButton] Transparence du bouton
    Bonjours à tous,

    Je suis tombé sur un problème au niveau du design de mon application, j'aimerai avoir, sur une image de fond, une autre image qui en étant cliqué lance une fonction. J'ai donc vu 2 solutions :

    - Une image simple (PNG avec transparence), j'ai testé, elle s'affiche mais problème :
    -----> impossible de la rendre clicable

    Je me suis donc rabattu sur la seconde solution : le bouton avec l'image dessus.
    Seulement là encore, j'ai rencontré un problème :

    -----> L'image est sur le bouton....mais j'ai un fond gris.

    Si quelqu'un pouvait me renseigner sur un moyen simple pour rendre le fond de mon wx.BitmapButton transparent.

    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
    #Frame principale
        Frame=wx.Frame.__init__(self, None, 1, TITRE, pos = (-1,-1), size =(600,400), style = wx.CLOSE_BOX)
        self.Centre()
        self.SetBackgroundColour('#000000')
     
        #Images
        img_fond=wx.Bitmap(REP_DATA+"/img/fond_lanceur.png", wx.BITMAP_TYPE_PNG)
        loupe=wx.Bitmap(REP_DATA+"/ico/loupe.png", wx.BITMAP_TYPE_PNG)
     
        #Conteneur général
        conteneur=wx.Panel(self, 1, size=self.GetClientSize())
        wx.StaticBitmap(conteneur, -1, img_fond, pos=(0, 0) )     #Met l'image en fond
     
        #Boutons
        B_recherche=wx.BitmapButton( conteneur, -1, loupe, pos = (50, 200))
        B_recherche.Bind(wx.EVT_BUTTON, recherche)
    Merci pour vos réponses.

  2. #2
    Membre éprouvé
    Inscrit en
    Octobre 2006
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 92
    Par défaut
    Bonjour,

    Je ne sais pas comment on peut rendre un BitmapButton transparent. J'ignore même si c'est possible ?

    Par contre, avoir une image cliquable, avec un évènement clic que l'on peut intercepter, c'est possible. Il existe ainsi des boutons personnalisés, comme le PlateButton, qui sont en fait des images cliquables : tu peux dépiauter leur code, éventuellement.

    Il existe aussi un contrôle, le PanelBox, qui n'est pas tout à fait terminé et donc pas encore intégré à wxPython, qui repose sur des panel cliquables (sur lesquels on peut donc mettre ce que l'on veut), tu peux en récupérer le code ici :

    http://editra.org/eclib

  3. #3
    Membre averti Avatar de Saintux
    Homme Profil pro
    Chercheur ( de travail )
    Inscrit en
    Janvier 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chercheur ( de travail )
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 39
    Par défaut
    Merci pour la réponse mais je cherche un moyen de le faire sans avoir à importer d'autres modules que wxpython.

    Je vais essayer de m'orienter vers l'image cliquable mais je rencontre des problèmes :

    J'ai une image (StaticBitmap) en fond de ma fenêtre, j'ai mis une autre image (toujours StaticBitmap) par dessus, je la vois mais impossible de lier le clic à une fonction, il ne se passe rien.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
        #Boutons
        B_recherche = wx.StaticBitmap( conteneur, -1, loupe, pos = (50, 200))
     
        #Évènements
        img.Bind(wx.EVT_LEFT_DOWN, self.test)
     
      def test(self, evt):
        print("OK")
    Et quand je lie l'image du fond à l'évènement, ça fonctionne....mais même quand je clique sur mon image 'loupe' ...

    A croire qu'il me la place derrière l'image de fond...sauf que je la vois...

    Bref casse tête.

  4. #4
    Membre expérimenté Avatar de vikki
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2007
    Messages : 292
    Par défaut
    Hello,
    Ce n'est pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    B_recherche.Bind(wx.EVT_LEFT_DOWN, self.test)
    que tu veux faire? Sinon, il me semble qu'un wx.BitmapButton avec le style wx.BU_EXACTFIT devrait faire quelque chose ressemblant au PlateButton, à tester.

  5. #5
    Membre averti Avatar de Saintux
    Homme Profil pro
    Chercheur ( de travail )
    Inscrit en
    Janvier 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chercheur ( de travail )
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 39
    Par défaut
    Oui c'est ça que je voulais faire, mais ça ne fonctionne pas et le wx.BU_EXACTFIT ne résout pas mon problème mais merci quand même pour la réponse

Discussions similaires

  1. [FLASH] Comment créer un bouton à fond transparent ?
    Par langela94 dans le forum Flash
    Réponses: 2
    Dernier message: 20/01/2006, 15h01
  2. [C#]Problème sur composant perso (Bouton Transparent)
    Par SLE dans le forum Windows Forms
    Réponses: 1
    Dernier message: 06/10/2005, 00h12
  3. [C#] problème de bouton transparent
    Par mbibim63 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 17/05/2005, 14h50
  4. Bouton avec bitmap transparent
    Par eag35 dans le forum MFC
    Réponses: 2
    Dernier message: 14/09/2004, 16h15
  5. bouton transparent
    Par Michaël dans le forum Flash
    Réponses: 2
    Dernier message: 25/07/2003, 14h59

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