Je voudrais connaître la couleur de fenêtre par défaut dans Tkinter lorsque vous créez simplement une fenêtre:
root = Tk()
S'il y en a un, il est possible de définir des widgets sur la même couleur ou d'utiliser un code de couleur hexadécimal? (en utilisant rgb)
Le code couleur que j'ai trouvé pour la fenêtre "normale" est:
R = 240, G = 240, B = 237
Merci.
Vous ne savez pas exactement ce que vous cherchez, mais cela fonctionnera-t-il?
import Tkinter
mycolor = '#%02x%02x%02x' % (64, 204, 208) # set your favourite rgb color
mycolor2 = '#40E0D0' # or use hex if you prefer
root = Tkinter.Tk()
root.configure(bg=mycolor)
Tkinter.Button(root, text="Press me!", bg=mycolor, fg='black',
activebackground='black', activeforeground=mycolor2).pack()
root.mainloop()
Si vous voulez simplement trouver la valeur actuelle de la fenêtre et définir des widgets pour l'utiliser, cget
pourrait être ce que vous voulez:
import Tkinter
root = Tkinter.Tk()
defaultbg = root.cget('bg')
Tkinter.Button(root,text="Press me!", bg=defaultbg).pack()
root.mainloop()
Si vous souhaitez définir la couleur d'arrière-plan par défaut pour les nouveaux widgets, vous pouvez utiliser la méthode tk_setPalette(self, *args, **kw)
:
root.tk_setPalette(background='#40E0D0', foreground='black',
activeBackground='black', activeForeground=mycolor2)
Tkinter.Button(root, text="Press me!").pack()
Vos widgets auraient alors cette couleur d'arrière-plan par défaut, sans avoir à la définir dans les paramètres du widget. Il y a beaucoup d'informations utiles fournies avec les fonctions d'aide en ligne import Tkinter; help(Tkinter.Tk)
la réponse de rudivonstaden m'a conduit à une solution au problème, bien que pour une raison quelconque root.cget("bg")
échoue parce que "bg"
est un nom de couleur inconnu.
Cependant, sachant qu'un widget a un dictionnaire contenant ses propriétés signifie que root["bg"]
renvoie la couleur d'arrière-plan du widget.
Donc, si vous créez une fenêtre nommée myWindow sans remplacer la couleur d'arrière-plan par défaut de votre système, alors myWindow["bg"]
est la couleur d'arrière-plan par défaut d'une fenêtre, qui peut être utilisée lors de la création de champs de texte sans cadre dans cette fenêtre.
J'essayais de définir la couleur d'un bouton sur la valeur par défaut du système. C'est la meilleure solution que j'ai rencontrée:
root.configure(background='SystemButtonFace')
La couleur par défaut pour la fenêtre Tkinter que j'ai trouvée était # F0F0F0