Форум сайта python.su
Прошу помочь с решением проблемы.
У меня выводяться чекбоксы с помощью цикла, их число зависит от количества листов эксельки, но это не важно.
Не могу считать значение этих чекбоксов для дальнейшей обработки - нужно создать список из тех листов (чекбоксов), которые будут выбраны.
class SheetsList: def __init__(self, master, title, row, column): self.var = tk.BooleanVar() self.var.set(0) self.title = title self.row = row self.column = column self.cb = tk.Checkbutton(master, text=title, variable=self.var, onvalue=1, offvalue=0, bg="cyan3", ) self.cb.grid(row=row, column=column, rowspan=2, padx=5, pady=5, sticky="nw") def file_check(): global wb, sheet_names, quantity_sheets, checks, sheet print(filename) wb = load_workbook(filename) quantity_sheets = len(wb.sheetnames) sheet_names = [wb.sheetnames] checks = [] c = 0 r = -1 for i in range(0, quantity_sheets): sheet[i] = wb.sheetnames[i] if r < 4: r += 1 else: r = 0 c += 1 checks.append(SheetsList(app.frame2, sheet[i], r, c))
Офлайн
В класс SheetsList добавь метод, который читает значение переменной через self.var.get() и возвращает его наружу через return. Потом будешь обращаться к этим объектам в списке и у каждого из них будет этот метод.
Отредактировано py.user.next (Фев. 2, 2021 23:34:00)
Офлайн
py.user.next
В класс SheetsList добавь метод, который читает значение переменной через self.var.get() и возвращает его наружу через return. Потом будешь обращаться к этим объектам в списке и у каждого из них будет этот метод.
Офлайн
Andrey6570Скинь задание, весь код, пример файла .xls и тот результат, который ожидается от этого файла .xls .
Провозился пару дней, так и не получилось.
Офлайн