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 :

Images dans le menu


Sujet :

Tkinter Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2010
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Février 2010
    Messages : 83
    Par défaut Images dans le menu
    Bonjour.
    J'essaie de mettre des images dans mes menus.
    Voici le code que j'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    self.Fichier.add_command(label="Copier",image=self.copy,command=self.copier,accelerator="Ctrl+C")
    Mais au lieu d'afficher [img+text+accelerator], il m'affiche [img+accelerator]
    Comment afficher l'image et le texte dans mon menu ?

    Merci.

  2. #2
    Membre confirmé

    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 70
    Par défaut
    pour mettre des images dans une barre de menu, je crée moi même ma class qui va définir ma barre de menu. et je change le texte des bouttons par des images tout simplement. si j'ai besoin d'un texte + une image + un texte, je rassemble c'est trois éléments dans un même image et je ne met que l'image sur le boutton.

    par contre, si tu veut garder les menus déroulants, je sais pas trop ...
    si j'ai trouvé c'est la même chose que pour mettre une image sur un boutton normal

    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
     
    # -*- coding: utf-8 -*-
     
    from Tkinter import *
     
    MesImage = {}
    class MenuBar(Frame):
        """Barre de menus déroulants"""
        def __init__(self, boss =None):
            Frame.__init__(self, borderwidth =2)
            ##### Menu <Fichier> #####
            MesImage["imageTest"] = PhotoImage(file = "noir_jaune.gif")
            fileMenu = Menubutton(self, image = MesImage["imageTest"])
            fileMenu.pack(side =LEFT)
            # Partie "déroulante" :
            me1 = Menu(fileMenu)
            me1.add_command(label ='Effacer', underline =0,
            command = boss.effacer)
            me1.add_command(label ='Terminer', underline =0,
            command = boss.quit)
            # Intégration du menu :
            fileMenu.configure(menu = me1)
     
    class Application(Frame):
        """Application principale"""
        def __init__(self, boss =None):
            Frame.__init__(self)
            self.master.title('Fenêtre avec menus')
            mBar = MenuBar(self)
            mBar.pack()
            self.can = Canvas(self, bg='light grey', height=190,
            width=250, borderwidth =2)
            self.can.pack()
            self.pack()
        def effacer(self):
            self.can.delete(ALL)
     
    if __name__ == '__main__':
        app = Application()
        app.mainloop()
    aprés pour mettre des images dans les lignes jai pas encore regarder

    [edit] c'est la même chose aussi
    ici remplace par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    image = MesImage["imageTest"]

  3. #3
    Membre confirmé
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2010
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Février 2010
    Messages : 83
    Par défaut
    Bonjour et merci.
    J'y avais pensé, mais je me demandais si il n'y avait pas une solution un peu plus adaptée, surtout pour un projet OpenSource qui doit être lisible et facilement modifiable (et mes images ne sont pas très "lisibles' : http://www.developpez.net/forums/d94...s-code-source/)
    Mais si on peut mettre un label et une image dans le menu, c'est qu'il doit être possible de mettre les deux en même temps.
    Sinon, oui, je pourrais mettre sur une image avec la couleur du fond de Tkinter, mon image, puis le texte avec la police par défaut de Tkinter pour que le tout s’intègre bien.
    Si quelqu'un a une meilleur idée, je suis preneur, sinon, je garde cette piste.

  4. #4
    Membre confirmé

    Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 70
    Par défaut
    je croit que le label est prioritaire sur l'image et que donc cette dernière ne sera pas afficher

  5. #5
    Membre confirmé
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2010
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Février 2010
    Messages : 83
    Par défaut
    Pourtant, c'est mon image, et non pas le label qui s'affiche.

  6. #6
    Membre confirmé
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2010
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Février 2010
    Messages : 83
    Par défaut
    J'ai trouvé la solution par hasard. En fait, c'est en m'aidant pour un autre problème que j'ai trouvé comment faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    self.Fichier.add_command(label="Copier",image=self.copy,compound='left',command=self.copier,accelerator="Ctrl+C")
    compound correspond à la position de l'image par rapport au texte. Cette propriété s'utilise normalement pour les boutons, mais ça fonctionne aussi dans les menus.
    http://effbot.org/tkinterbook/button.htm

    Merci quand même.
    Cordialement.

Discussions similaires

  1. [CSS 2] Les images dans mon menu ne s'affichent pas
    Par naghame dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 25/05/2011, 14h15
  2. changer une image dans un menu
    Par lelectronique.com dans le forum jQuery
    Réponses: 4
    Dernier message: 03/01/2011, 18h50
  3. affichage d'images dans pop menu
    Par maraval dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 17/06/2010, 20h26
  4. ajouter un son sur une image dans un menu
    Par ideal23 dans le forum Dreamweaver
    Réponses: 0
    Dernier message: 07/11/2009, 12h14
  5. images dans un menu
    Par sofieneinfo2007 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 22/02/2007, 09h30

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