解决ttkbootstrap的按钮组件点击后有虚线的问题
在使用ttkbootstrap美化界面后,发现按钮被点击之后,会存在一个虚线框,这块看着很不美观。
第一种方法。使用tkinter老组件 经过测试发现,ttkbootstrap对tkinter老组件也有一定支持,用tkinter的按钮替换掉ttkbootstrap的按钮就可以了。代码如下。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 import tkinter from ttkbootstrap import * win = Window() win.geometry("500x200") win.title("ttkbootstrap测试") ttkbtn = Button(text="点击后有虚框") ttkbtn.pack() Label(win, text="分隔一下").pack() btn = tkinter.Button(win, width=20, text="点击后没有虚框", activeforeground="#fff") btn.pack() win.mainloop() 如下图所示,上面的ttkbootstrap按钮点击后出现虚框。我在ttkbootstrap文档中找到这部分的说明,为了让tkinter组件不那么突兀,这里也做了美化,详见传统支持
按钮点击后对比图 第二种方法,将takefocus属性设置成False。推荐 完美解决。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 import tkinter from ttkbootstrap import * win = Window() win.