如何删除 Tkinter OptionMenu 小部件的边框

How to remove the border of a Tkinter OptionMenu Widget

我浏览了多个网站,只给了我一半满意的答案,我该如何为 Tkinter OptionMenu 小部件的每个部分着色?

代码片段:

from tkinter import *

root = Tk()
text = StringVar()

fr = Frame (root,bg="yellow")
fr.grid()

menu = OptionMenu (fr, text, "hi", "there")
menu.grid (pady=50, padx=50)

# Pretty colouring goes here
# Or ugly yellow, I don't mind

menu ["menu"] ["bg"] = "yellow"
menu ["bg"] = "yellow"
menu ["activebackground"] = "green"

root.mainloop()

还是我应该放弃并接受灰色?

我不明白你的问题。

menu["menu"] 是一个 tkinter.Menu 对象,因此您可以设置其他选项。

可能的颜色选项是:

  • activebackground -> 你想要的
  • activeforeground -> 你想要的
  • 背景
  • bg
  • 禁用前景
  • fg
  • 前景
  • 选择颜色

我所要做的就是将 highlightthickness 选项设置为 0

menu["highlightthickness"]=0

这消除了下拉菜单周围丑陋的边框。

要去除边框,请使用以下选项:menu["borderwidth"] = 0.