Уведомления

Группа в Telegram: @pythonsu

#1 Июль 30, 2013 22:07:29

nickmetal
Зарегистрирован: 2012-11-15
Сообщения: 49
Репутация: +  0  -
Профиль   Отправить e-mail  

Перебор доступных цветов в Ткинтере

Здравствуйте! Нашел список цветов для данной библиотеке, но далеко не все оказались рабочими.Решил отсеять нерабочие такой функцией
имеется функция
в начале кода есть 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 "..."

Подскажите, пожалуйста, что я делаю не так?

Отредактировано nickmetal (Июль 30, 2013 22:10:58)

Офлайн

#2 Июль 30, 2013 23:48:00

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

Перебор доступных цветов в Ткинтере

Зачем Вам это?
В Tkinter существует модуль, который сам выдает палитру. Нажимая на палитре Вы можете получить значения RGB и код цвета (возвращается в виде набора). Все цвета палитры поддерживаются Tkinter. В чем собственно проблема.
В 2.Х палитру можно получить следующим образом:

import tkColorChooser
ops = tkColorChooser.askcolor()
print ops
Мало того, эту палитру можно встроить на свой виджет…
P.S. Вопросы по Tkinter желательно задавать в ветке GUI :)



Отредактировано 4kpt (Июль 30, 2013 23:48:31)

Офлайн

#3 Июль 30, 2013 23:53:37

nickmetal
Зарегистрирован: 2012-11-15
Сообщения: 49
Репутация: +  0  -
Профиль   Отправить e-mail  

Перебор доступных цветов в Ткинтере

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

в 3.х так же цвета можно получить?
У меня на канве просто падающие квадратики с рандомными цветами… должны были быть))

Офлайн

#4 Июль 31, 2013 01:06:30

4kpt
От: Харьков
Зарегистрирован: 2010-11-03
Сообщения: 998
Репутация: +  63  -
Профиль   Отправить e-mail  

Перебор доступных цветов в Ткинтере

Если я не ошибаюс, в 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()



Отредактировано 4kpt (Июль 31, 2013 01:33:28)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version