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 :

Tkinter et Tix


Sujet :

Tkinter Python

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 42
    Points : 37
    Points
    37
    Par défaut Tkinter et Tix
    Bonjour,
    Je débute l'apprentissage de Python, donc désolé si la question est "bête".
    J'ai besoin dans mon programme d'un combobox. En lisant j'ai constaté que Tkinter n'en avait pas par défaut et qui'l me fallait soit le construire (pas le niveau...) soit utiliser une librairie graphique.
    Tix étant apparu dans mes recherches j'ai essayé.
    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
     
    from tkinter import *
    from tkinter import tix
     
     
    class Frame_Ajouter(tix.Frame):
        def __init__(self,master=None):
            tix.Frame.__init__(self,master,width=400,height=100,bg="yellow")
            tix.Label(self,text="Rubrique:",bg="yellow").grid(row=0,column=0,sticky=E,ipady=10)
            tix.Label(self,text="Nom :",bg="yellow").grid(row=1,column=0,sticky=E,ipady=10)
            tix.Label(self,text="Prénom :",bg="yellow").grid(row=2,column=0,sticky=E,ipady=10)
            var = tix.StringVar()
            self.liste = tix.ComboBox(self, dropdown=1, editable=0, variable=var, options='listbox.height 6  label.anchor e')
            self.liste.grid(row=0,column=1,sticky=W,padx=10)
            self.BTN_Ajout= tix.Button(self,text="+",width=5)
            self.BTN_Ajout.grid(row=0,column=2)
            self.entre2=tix.Entry(self,width=30)
            self.entre2.grid(row=1,column=1,columnspan=2,sticky=W,padx=10)
            self.entre3=tix.Entry(self,width=30)
            self.entre3.grid(row=2,column=1,columnspan=2,sticky=W,padx=10)
     
            self.liste.entry.config(width=15, state='readonly',bg='white')
            self.liste.subwidget("label" ).destroy()
            self.liste.subwidget("frame").config( bg = "yellow" )
            self.liste.insert(tix.END, 'Liste')
            self.liste.insert(tix.END, 'January')
            self.liste.insert(tix.END, 'February')
            self.liste.pick(0)
     
    if __name__ == '__main__':
        fen=tix.Tk()
        frame =Frame_Ajouter()
        frame.pack()
        fen.mainloop()
    J'ai trois petites questions:
    > J'ai cru lire dans un forum qu'on pouvait mélanger les appelations tix.bidule et bidule directement. J'ai essayé sans succès.
    Je dois absolument par exemple écrire à la fin fen=tix.Tk() et pas fen=Tk()? En gros ne je peux pas utiliser tix dans mon code que pour UN widget?
    >Si je veux utiliser cette classe en l'important, je suis alors obligé d'utiliser partout dans mon programme Tix.frame ,tix.bidule,...?
    Je demande cela car j'ai eu une erreur en l'important (invalide name tix.combobox).
    >je souhaite mettre le fond du combobox en blanc (là ou apparait le choix). J'ai essayé avec un bg="white" dans le Entry...sans succès. Il y a -t-il moyen de faire cela?

    Merci par avance.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    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 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Salut,

    Citation Envoyé par kerlouan Voir le message
    J'ai besoin dans mon programme d'un combobox. En lisant j'ai constaté que Tkinter n'en avait pas par défaut et qui'l me fallait soit le construire (pas le niveau...) soit utilise une librairie graphique.
    Tk inclus l'extension ttk qui a aussi ces widgets là.
    De toutes façons, le programmeur Python peut utiliser les 2 (Tix et ttk).

    Citation Envoyé par kerlouan Voir le message
    J'ai trois petites questions:
    > J'ai cru lire dans un forum qu'on pouvait mélanger les appelations tix.bidule et bidule directement. J'ai essayé sans succès.
    "bidule" est une variable globale qui pourrait être créée via "from tkinter.tix import *" mais comme vous allez utiliser des widgets tix et tk, autant garder le préfixe: çà sera plus lisible.

    Citation Envoyé par kerlouan Voir le message
    Je dois absolument par exemple écrire à la fin fen=tix.Tk() et pas fen=Tk()? En gros ne je peux pas utiliser tix dans mon code que pour UN widget?
    Et oui car, les développeurs l'ont décidé ainsi (çà fait pareil que Tk() mais çà charge en plus la bibliothèque Tix).

    Citation Envoyé par kerlouan Voir le message
    >je souhaite mettre le fond du combobox en blanc (là ou apparait le choix). J'ai essayé avec un bg="white" dans le Entry...sans succès. Il y a -t-il moyen de faire cela?
    Une piste:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    import tkinter.tix as tix
     
    root = tix.Tk()
    cb = tix.ComboBox(root, editable=1)
    cb.pack()
    cb.entry.config(bg='red')
    tix.mainloop()
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Tkinter, Tix et NoteBook
    Par calogerogigante dans le forum Tkinter
    Réponses: 8
    Dernier message: 16/07/2012, 21h20
  2. Tix (Tkinter)
    Par forum dans le forum Téléchargez
    Réponses: 0
    Dernier message: 08/07/2011, 11h48
  3. Tkinter et Tix
    Par sasuk dans le forum Tkinter
    Réponses: 0
    Dernier message: 02/11/2009, 17h39
  4. Utilisé Tix dans une fenêtre crée avec Tkinter
    Par Jiyuu dans le forum Tkinter
    Réponses: 4
    Dernier message: 07/02/2008, 17h45
  5. [Tkinter - Tix] Maximize
    Par airod dans le forum Tkinter
    Réponses: 4
    Dernier message: 26/08/2006, 12h12

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