【问题标题】:How to change the color of the dropdown text color of ttk combobox widget?如何更改ttk组合框小部件的下拉文本颜色的颜色?
【发布时间】:2020-10-18 03:14:21
【问题描述】:

首先我只是尝试使用:

missed_list_combobox.config(foreground="red") 

然后我尝试设置新样式:

style_missed_combobox = tkinter.ttk.Style()
style_missed_combobox.configure("Red.TCombobox", foreground="red")

并在创建组合框小部件后使用它。

missed_list_combobox = tkinter.ttk.Combobox(frame4, state="readonly", width=32, style="Red.TCombobox")
missed_list_combobox.grid(row=2, column=3, padx=2, sticky="w", pady=3)

但同样...只是改变组合框中顶部元素的颜色... 不是整个下拉元素... 如何更改所有下拉元素的颜色文本..?

提前致谢, 伊莱兰

【问题讨论】:

    标签: python tkinter ttk ttkwidgets


    【解决方案1】:

    据我所知,tkinter 无法直接实现这一点,因为我们无法通过 python 接口访问组合框的列表框。 然而,这可以使用底层 tcl 解释器来完成:

    missed_list_combobox.tk.eval('[ttk::combobox::PopdownWindow %s].f.l configure -foreground red' % missed_list_combobox)
    

    如果你也想把背景改成黄色,只需在上面的tcl命令中添加-background yellow即可。

    顺便说一句,如果你想改变所有组合框的下拉列表框的默认前景,你可以使用

    root.option_add('*TCombobox*Listbox.foreground' % frame, 'red')
    

    但这仅适用于在此行之后创建的组合框(root 可以被任何小部件替换)

    【讨论】:

      猜你喜欢
      • 2013-04-20
      • 2022-06-13
      • 1970-01-01
      • 2023-02-23
      • 2021-09-03
      • 2017-07-17
      • 1970-01-01
      • 2019-09-09
      • 1970-01-01
      相关资源
      最近更新 更多