Найти - Пользователи
Полная версия: Перебор доступных цветов в Ткинтере
Начало » Python для новичков » Перебор доступных цветов в Ткинтере
1
nickmetal
Здравствуйте! Нашел список цветов для данной библиотеке, но далеко не все оказались рабочими.Решил отсеять нерабочие такой функцией
имеется функция
в начале кода есть import Colors
def a():
  
    for i in Colors.SORTED_COLORS_BASE:
        X=2
        try:
            c.create_rectangle(X,0,X+30,30,fill=i)
        except _Tkinter.TclError:
            f=open('failedColors.txt','a')
            f.write('{0}\n'.format(i))
            f.close()
            a()

выдает сообщение при попытке присвоить этот цвет прямоугольнику(если не использовать try-except ):

 _Tkinter.TclError: unknown color name "..."

Пытаюсь перехватить перехватить эту ошибку как в моем коде :
выдает ошибку, что не может найти _Tkinter.

пытаюсь сделать так : except TclError:….
но тогда опять пишет
 _Tkinter.TclError: unknown color name "..."

Подскажите, пожалуйста, что я делаю не так?
4kpt
Зачем Вам это?
В Tkinter существует модуль, который сам выдает палитру. Нажимая на палитре Вы можете получить значения RGB и код цвета (возвращается в виде набора). Все цвета палитры поддерживаются Tkinter. В чем собственно проблема.
В 2.Х палитру можно получить следующим образом:
import tkColorChooser
ops = tkColorChooser.askcolor()
print ops
Мало того, эту палитру можно встроить на свой виджет…
P.S. Вопросы по Tkinter желательно задавать в ветке GUI :)
nickmetal
4kpt
Зачем Вам это?
В Tkinter существует модуль, который сам выдает палитру. Нажимая на палитре Вы можете получить значения RGB и код цвета (возвращается в виде набора). Все цвета палитры поддерживаются Tkinter. В чем собственно проблема.
В 2.Х палитру можно получить следующим образом:
import tkColorChooser
ops = tkColorChooser.askcolor()
print ops
Мало того, эту палитру можно встроить на свой виджет…
P.S. Вопросы по Tkinter желательно задавать в ветке GUI

в 3.х так же цвета можно получить?
У меня на канве просто падающие квадратики с рандомными цветами… должны были быть))
4kpt
Если я не ошибаюс, в 3.Х модуль tkColorChooser является частью tkinter. Т.е. Вам нужно писать
import tkinter
ops = tkinter.tkColorChooser.askcolor()
print ops
Это Вам поможет…
import random
import tkinter
def new_color():
    cmap = "#%02X%02X%02X" % (random.randint(0, 255),
                              random.randint(0, 255),
                              random.randint(0, 255))
    but["bg"] = cmap
root = tkinter.Tk()
but = tkinter.Button(root, width=20, text="Push", command=new_color)
but.pack()
root.mainloop()
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB