Логика программы:
1. есть 3 файла-справочника:
1.1 labels.txt - названия кнопок;
1.2 colors.txt - цвет кнопок;
1.3 name.txt - текст для копирования в буфер.
2. В каждом справочнике 52 строки, соответственно числу кнопок на форме.
3. При нажатии на кнопку 1 буфер обмена должен очиститься и в него скопироваться строка номер 1 из файла name.txt, кнопки 3 - строка 3, ну и т.д.
Так вот, буфер не очищается и текст не копируется. Помогите, пожалуйста, победить.
from tkinter import* #Чтение названий кнопок ALL_BUTTONS = 52 LABELS_FILE = 'labels.txt' labels = [ l.rstrip() for l in open(LABELS_FILE).readlines() ] assert len(labels) == ALL_BUTTONS #Импорт цветов COLORS_FILE = 'colors.txt' with open(COLORS_FILE) as cf: COLORS = [ c for c in cf.read().splitlines() if c ] assert len(COLORS) == ALL_BUTTONS #Копирование в буфер обмена SLOVO_FILE = 'name.txt' with open(SLOVO_FILE) as sf: SLOVO = [ s for s in sf.read().splitlines() if s ] assert len(SLOVO) == ALL_BUTTONS #Объявляю команду def com(): a=root.clipboard_clear() b=root.clipboard_append() # GUI root = Tk() # ПОВЕРХ ВСЕХ ОКОН root.wm_attributes("-topmost", 1) root.title(u'Проверка контрагентов') # размер окна неизменен root.resizable(False, False) # Положение в правом верхнем углу root.geometry('+600+30') # Прочее что-то topFrame = Frame(root, pady=5, padx=2) bottomFrame = Frame(root) topFrame.pack(side='top', expand=1, fill=X) COLUMNS = 13 #Присваивание кнопкам свойств for number, label in enumerate(labels[0:]): button = Button(bottomFrame, text=label, width=15, bg=COLORS[number], font='helvetica 8', relief='raised', anchor=W, command=com) button.grid(row = number // COLUMNS, column = number % COLUMNS) bottomFrame.pack(side='top') #Ожидание реакции root.mainloop()