Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; GeSHi has a deprecated constructor in /var/www/u1194255/data/www/younglinux.info/libraries/geshi/geshi.php on line 259
Кто может объяснить почему именно кнопка при инициализации сразу срабатывает? В лэйбле строка устанавливается на последнее значение словаря. Если убрать цикл и задать отдельно кнопку таким же образом, то все равно функция сразу сработает.. В функцию передаются адреса, те же что лежат в словаре.. То есть из памяти ничего нужного, вроде, не пропадает. Не понимаю.
from tkinter import *
 
colors = {'#ff0000': 'красный', '#ff7d00': 'оранжевый', '#ffff00': 'желтый', '#00ff00': 'зеленый', '#007dff': 'голубой',
          '#0000ff': 'синий', '#7d00ff': 'фиолетовый'}
 
class ColorTable:
    def __init__(self, master):
        self.statLabel = Label(master, text="Выберете цвет", width=20, justify="center")
        self.statLabel.pack()
 
        self.pinLine = Entry(master, width=22, justify="center")
        self.pinLine.pack()
 
        for code, name in colors.items():
            b = Button(master, text=name, bg=code, width=20)
            b.pack()
            b.config(command=(self.insertCode(code, name)))
 
    def insertCode(self, code, name):
        self.pinLine.delete(0, END)
        self.pinLine.insert(0, code)
        self.statLabel.config(text=name)
 
 
root = Tk()
root.title("rainbow")
 
ColorTable(root)
root.resizable(0, 0)
root.mainloop()

Ограниченный HTML

  • Допустимые HTML-теги: <p> <br> <em> <strong> <ul> <ol> <li> <pre> <code>
  • Для синтаксической подсветки исходного кода следует использовать теги: <pre>, <code>, <bash>, <c>, <java>, <pycon>, <python>.
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.