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 :

Créé une classe de boutons de menu avec la class ttk.Button [Python 3.X]


Sujet :

Tkinter Python

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Septembre 2013
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Septembre 2013
    Messages : 10
    Par défaut Créé une classe de boutons de menu avec la class ttk.Button
    '''
    Bonjour,
    Je suis confronté au problème suivant dans PyCharm 2024.1.4.:
    Dans une fenêtre, on pose un Frame nommé option_frame dans lequel sont insérés des boutons ttk.Button créés par la classe Option(ttk.Button).
    Un click sur un des boutons (option) doit faire apparaitre un messagebox un message indiquant l'index du bouton cliqué.
    PROBLEMES: les paramètres des boutons créés ne sont pas visualisés (exemple: text et couleurs) ou fonctionnels comme l'attribut command.
    Remarques:
    L'objectif est de créer un menu qui permettra d'ouvrir un frame propre à chaque bouton dans main_frame.
    Chaque frame correspondant à une option du menu sera créé dans un fichier individuel qui sera inclus dans ce code lors de l'appel de l'option.

    MERCI PAR AVANCE POUR VOTRE AIDE
    '''

    import tkinter as tk
    from tkinter import ttk
    from tkinter import messagebox

    root = tk.Tk()
    root.geometry('500x400')
    root.title('Application')

    option_frame = tk.Frame(root, bg='#c3c3c3')
    main_frame = tk.Frame(root, bg='#a0a0a0', highlightbackground='black', highlightthickness=2)

    def msg(index):
    messagebox.showwarning('Confirmation', 'Frame supprimé : ' + str(index))

    class Option(ttk.Button):
    def __init__(self,index):
    super().__init__(master=option_frame)
    self.index = index
    self.text = 'Option: '+str(index)
    self.place(x=10, y=40*(index+1))
    self.font = ('Bold', 4)
    self.fg = '#158aff'
    self.bg = '#c3c3c3'
    self.activebackground = '#c3c3c3'
    self.command = lambda: msg(self.index)


    option_frame.pack(side=tk.LEFT)
    option_frame.pack_propagate(False)
    option_frame.configure(width=100, height=400)

    main_frame.pack_propagate(False)
    main_frame.configure(width=500, height=400)
    main_frame.pack(side=tk.LEFT)

    Nb = 4

    for i in range(Nb):
    Option(i)

    root.mainloop()
    Fichiers attachés Fichiers attachés

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Démarrer/arrêter une classe avec des boutons
    Par thedev44 dans le forum Général Java
    Réponses: 5
    Dernier message: 05/09/2016, 09h29
  2. [XL-2003] Ajouter un bouton au menu standard avec une macro
    Par loulag07 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 04/08/2012, 06h47
  3. [CKEditor] Bouton créant une div avec une class personnelle
    Par Nowwis dans le forum Bibliothèques & Frameworks
    Réponses: 0
    Dernier message: 27/03/2011, 14h03
  4. Réponses: 6
    Dernier message: 18/08/2009, 08h13
  5. Réponses: 9
    Dernier message: 24/03/2007, 22h37

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