解决ttkbootstrap的按钮组件点击后有虚线的问题
   1
在使用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.
Ttkbootstrap主题的颜色选择组件ColorChooserDialog,选中颜色后报错,打印result结果是None
   1
ttkbootstrap主题的颜色选择组件 ColorChooserDialog,选中颜色后报错,打印result结果是None 报错原因 经过排查,发现在点击确定后,这老外居然是根据按钮上的文字来判断是否确定或取消,真是无了个语。 这在英文条件下没问题,中文下 就会出错了 1 2 3 4 5 6 7 8 9 10 def on_button_press(self, button): if button.cget('text') == 'OK': values = self.colorchooser.get_variables() self._result = ColorChoice( rgb=(values.r, values.g, values.b), hsl=(values.h, values.s, values.l), hex=values.hex ) self._toplevel.destroy() self._toplevel.destroy() 解决方法 通过查看源码,选取的颜色是通过选择器内colorchooser组件获取的,直接调用colorchooser的方法即可获取到颜色。 1 2 3 cd = ColorChooserDialog() cd.show() result = cd.colorchooser.get_variables()
站长微信
请备注来意
二维码