【问题标题】:is there a way to set a default button color (on click) for tkinter?有没有办法为 tkinter 设置默认按钮颜色(点击时)?
【发布时间】:2020-05-07 21:45:50
【问题描述】:

我正在使用“activeforeground”来制作它,以便当我点击一个按钮时,文本会变成“迷雾玫瑰”。但是,我想将此应用于我的代码中的所有按钮,而不是梳理和更改每一个按钮。有没有办法将其设置为默认的“activeforeground”颜色?类似于如何使用以下方法更改文本的默认字体:

root.option_add("*font", "times 14 bold")

如果有“activeforeground”的等价物,我将不胜感激!

【问题讨论】:

  • root.option_add("*activeForeground", "misty rose") 适合你吗?
  • 嗯,由于某种原因,它改变了第一个按钮,但所有其他按钮保持默认
  • edit 你的问题有一个完整的minimal reproducible example 来说明你遇到的问题。
  • 另外,您是否知道只有将鼠标悬停在按钮上时才会显示活动前景?将鼠标移开后,颜色不会保持不变。
  • 我将添加一个示例,而且我在 Mac 上,因此只有当我单击按钮时才适用 activeforeground。当我悬停时不是。

标签: python button tkinter default


【解决方案1】:

option_add 使用的名称并不总是与直接配置小部件时使用的选项完全相同。您需要使用通常使用 camelCase 的“数据库名称”。

您可以通过阅读原始 tcl/tk 文档或通过在给定选项上调用 configure 方法来获取数据库名称。它返回一个包含五个项目的列表。第二项是与选项数据库一起使用的名称。

在这种特定情况下,您需要使用activeForeground 而不是activeforeground

有关configure 返回的更多信息,请参阅What are these strange options returned by the method configure?

【讨论】:

  • 我正在使用正确的驼峰式大小写,但是只有第一个按钮受到option_add 的影响;其余按钮仍处于默认状态,单击时为蓝色状态。我应该用别的东西代替option_add吗?
  • @user13445224:如果你想设置默认选项,option_add 是这样做的方法。如果您在使用多个小部件时遇到问题,则需要使用适当的 minimal reproducible example 来更新您的问题,以说明这一点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-14
  • 2012-09-07
  • 1970-01-01
  • 2012-01-13
  • 2020-12-30
  • 1970-01-01
  • 2020-05-05
相关资源
最近更新 更多