Est-il un moyen de gris (désactiver) un tkinter Cadre?
Je veux créer une interface graphique en tkinter avec deux Images, et d'avoir la partie inférieure du Cadre grisé jusqu'à un certain événement se produit.
Ci-dessous est un exemple de code:
from tkinter import *
from tkinter import ttk
def enable():
frame2.state(statespec='enabled') #Causes error
root = Tk()
#Creates top frame
frame1 = ttk.LabelFrame(root, padding=(10,10,10,10))
frame1.grid(column=0, row=0, padx=10, pady=10)
button2 = ttk.Button(frame1, text="This enables bottom frame", command=enable)
button2.pack()
#Creates bottom frame
frame2 = ttk.LabelFrame(root, padding=(10,10,10,10))
frame2.grid(column=0, row=1, padx=10, pady=10)
frame2.state(statespec='disabled') #Causes error
entry = ttk.Entry(frame2)
entry.pack()
button2 = ttk.Button(frame2, text="button")
button2.pack()
root.mainloop()
Est-ce possible sans avoir à titre individuel, de gris toutes les image2 de widgets?
Je suis en utilisant Tkinter, 8.5 et Python 3.3.
OriginalL'auteur Big Sharpie | 2014-07-24
Vous devez vous connecter pour publier un commentaire.
Pas sûr de savoir comment élégant il est, mais j'ai trouvé une solution en ajoutant
qui parcourt et désactive chacun de image2 enfants, et en changeant
enable()
de essentiellement les inverser cette avecEn outre, j'ai enlevé
frame2.state(statespec='disabled')
que ce n'est pas faire ce dont j'ai besoin et déclenche une erreur d'ailleurs.Voici le code complet:
Juste point de. Ma réponse est maintenant mis à jour pour le rendre plus clair.
J'ai dû changer
state='enable'
àstate='normal'
afin de l'obtenir pour fonctionner.OriginalL'auteur Big Sharpie