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()
站长微信
请备注来意
二维码