Vic*_*tor 6 python tkinter optionmenu
如果我从http://effbot.org/tkinterbook/optionmenu.htm中选择一个简单的OptionMenu示例,并添加一条设置背景颜色的线(见下文),只有按钮背景会改变颜色,而不是下拉菜单.仍然是灰色的 我可以为OptionMenu的按钮和菜单设置颜色吗?
我使用的是Windows 7,Python 2.6.6,Tkinter Rev 73770
from Tkinter import *
master = Tk()
variable = StringVar(master)
variable.set("one") # default value
w = OptionMenu(master, variable, "one", "two", "three")
w.config(bg = "GREEN") # Set background color to green
w.pack()
mainloop()
Run Code Online (Sandbox Code Playgroud)
谢谢
Bry*_*yan 13
您需要从中抓取menu对象OptionMenu并设置其背景颜色.这应该实现你想要的......
w = OptionMenu(master, variable, "one", "two", "three")
w.config(bg = "GREEN") # Set background color to green
# Set this to what you want, I'm assuming "green"...
w["menu"].config(bg="GREEN")
w.pack()
Run Code Online (Sandbox Code Playgroud)
小智 6
我添加我的答案有点晚了,但我想添加一个澄清!
正如@Bryan 所说,更改背景和前景色的命令很好:
w["menu"].config(bg="GREEN")
Run Code Online (Sandbox Code Playgroud)
但此命令实际上仅在单击时影响下拉菜单,如下图所示:
使用 Tkinter,在不单击窗口的情况下设置窗口属性的命令是:
w.config(bg="GREEN")
Run Code Online (Sandbox Code Playgroud)
因此,有必要将这两行代码组合起来,得到一个完全绿色的下拉菜单!
w.config(bg="GREEN")
w["menu"].config(bg="GREEN")
Run Code Online (Sandbox Code Playgroud)
但仍然存在一个问题,因为如果您将光标放在打开菜单的按钮上,它就会恢复默认的白色......
还有丑陋的蓝色:
幸运的是 .config() 函数有一个参数可以纠正这个问题:
w.config(bg="GREEN", fg="BLACK", activebackground="GREEN", activeforeground="BLACK")
w["menu"].config(bg="GREEN", fg="BLACK", activebackground="GREEN", activeforeground="BLACK")
Run Code Online (Sandbox Code Playgroud)
因此,这里的方法是在背景中显示绿色下拉菜单,并在菜单项中显示黑色。但是您可以根据需要修改.config()函数的参数!(如宽度、高度、字体、字体大小……)
我希望我对像我这样的 Tkinter 初学者有足够的理解!:)
| 归档时间: |
|
| 查看次数: |
12427 次 |
| 最近记录: |