是否有任何方法可以删除单击的文本时出现的虚线轮廓ttk.检查按钮对象时使用“默认”主题?在
示例。)
from tkinter import *
from tkinter import ttk
master = Tk()
style = ttk.Style() # print(self.style.theme_names())
style.theme_use('default')
var = IntVar()
c = ttk.Checkbutton(master, text="Click My Text", variable=var)
c.pack()
mainloop()
如果没有,有没有办法改变在windows上运行时使用的标准主题的背景按钮颜色?(不幸的是,对于这个项目,我不能考虑使用任何其他GUI包)
^{pr2}$
也许我错了,但是,似乎没有“冲刺”的选择。不过,还有一些选择。在
您可以将“takefocus”选项设置为False。这将停止显示虚线轮廓,但也将删除在控件之间制表符的功能。在
另一个选择是更改短划线的颜色以匹配背景:
^{pr2}$这种方法很有效,但你也需要使用高光颜色,所以它总是看不见的。在
编辑
当我提出一个小例子来帮助解释其中一个评论时,我发现了一个稍微简单一些的方法。使用cget()我们可以得到属性的值。这可以用来代替摆弄风格,更易于阅读和理解。在
使用cget,上述示例变为:
这只需将焦点颜色设置为主对象(窗口)的背景色。在
根据要求,下面是一个完整的示例,基于问题的原始代码:
这里我们将focuscolor、activebackground和background颜色设置为主窗口(master)的背景。这样可以删除虚线边框。在
然而,虚线边界的存在是有原因的。它向用户显示哪个控件具有焦点。当窗口上只有一个控件时,它看起来有点奇怪。但是如果你有几个,它允许用户使用键盘在你的应用程序中导航比没有键盘更容易。在
相关问题 更多 >
编程相关推荐