Я использую Python 2.6 под Linux (SUSE Linux Enterprise Desktop 11 (x86_64)). Я проверил очень простой код:
import tkColorChooser
tkColorChooser.askcolor()
, тогда, если я нажимаю на кнопку отмены, я всегда получаю сообщение об ошибке:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib64/python2.6/lib-tk/tkColorChooser.py", line 62, in askcolor
return Chooser(**options).show()
File "/usr/lib64/python2.6/lib-tk/tkCommonDialog.py", line 50, in show
s = self._fixresult(w, s)
File "/usr/lib64/python2.6/lib-tk/tkColorChooser.py", line 48, in _fixresult
r, g, b = widget.winfo_rgb(result)
File "/usr/lib64/python2.6/lib-tk/Tkinter.py", line 786, in winfo_rgb
self.tk.call('winfo', 'rgb', self._w, color))
_tkinter.TclError: unknown color name ""
У меня более сложный код, использующий tkColorChooser, который выдает ту же ошибку, если нажать кнопку «Отмена» в диалоговом окне выбора цвета. Я думаю, что я могу поймать ошибку. Но предназначен ли tkColorChooser таким образом? Есть ли другой способ справиться с этой проблемой? Спасибо!