Tkinter修改OptionMenu背景?

时间:2017-09-21 23:04:07

标签: python tkinter

美好的一天, 我不是程序员,对于与Python有关的任何东西都很可怕 - 所以如果这有点荒谬我会道歉。

尝试使用一些文本条目,标签和一些OptionMenus(tkinter)创建一个非常基本的UI。

尝试使用

更改OptionMenu小部件的背景颜色
OptionMenu.configure(bg="blue")

不幸的是,我收到了错误

  

TypeError:configure()缺少1个必需的位置参数:   '自我'

从我读过的内容来看,当人们在课堂上遗漏某些东西或没有实例化课程时,人们会得到这个。我不仅不知道这意味着什么,而且我没有创建任何课程。至少不是我知道的。

知道为什么我会收到这个错误以及如何修复它? 我知道我有更大的鱼要炒(比如在文本框中输入后如何使用这些值),但宝贝步骤......

哦,如果重要的话,我正在使用Python 3.6和Spyder。 谢谢!

1 个答案:

答案 0 :(得分:0)

正如Jason在上面的评论中所说,您需要在要配置的对象上使用.configure()而不是类。

见下文:

from tkinter import *

root = Tk()

var = StringVar(root)
var.set(1)

array = [1, 2, 3]

option = OptionMenu(root, var, *array)
option.configure(background="white")

option.pack()

此外,您可以使用属性activebackground在初始点击'OptionMenu后配置背景颜色,这可以像下面这样完成:

from tkinter import *

root = Tk()

var = StringVar(root)
var.set(1)

array = [1, 2, 3]

option = OptionMenu(root, var, *array)
option.configure(background="white", activebackground="white")

option.pack()

如果你想为了一致性而更进一步,你也可以通过调用对象的键menu来配置“下拉菜单”背景颜色。这可以像下面这样完成:

from tkinter import *

root = Tk()

var = StringVar(root)
var.set(1)

array = [1, 2, 3]

option = OptionMenu(root, var, *array)
option.configure(background="white", activebackground="white")
option["menu"].configure(bg="white")

option.pack()