Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Ошибка в коде Python

wormwood Профи (732), на голосовании 1 день назад
На курсе по питону делаем пародию на Пэинт с помощью библиотеки PyQT. Имеется палитра с кнопками, меняющие цвет карандаша в соответствующий цвет. Для наполнения панели кнопками каждым цветом из списка цветов COLORS используется данный метод:
```
def add_palette_buttons(self, layout):
for c in COLORS:
# создаем кнопку каждого цвета
b = QPaletteButton(c)
# # при нажатии этой кнопки устаналиваем карандашу ее цвет
b.pressed.connect(lambda c=c: self.canvas.set_pen_color(QColor(c)))
# добавляем на горизонтальную панель эту кнопку
layout.addWidget(b)
```
В PyCharm строка ```b.pressed.connect(lambda c=c: self.canvas.set_pen_color(QColor(c))) ``` подсвечивается ошибкой, а именно вторая с в lambda c=c - Unresolved reference 'c'. При этом программа спокойно запускается и завершается с exit кодом 0. Почему тогда возникает ошибка и как ее можно исправить? Код из самого курса причем.
Голосование за лучший ответ
Леонид Оракул (64267) 1 месяц назад
не знаю питон, но тут 2 переменные с одним именем
Оракул Оракул (62497) 1 месяц назад
Какая-то фигня, не может такого в уроке быть
 lambda c=c 
Зачем вообще в лямбде использовать ту же переменную из цикла
Скорей всего лямбда вообще не нужна
Похожие вопросы