Форум программистов, компьютерный форум, киберфорум
Python: Tkinter
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 1
Регистрация: 04.06.2020
Сообщений: 50

Не удается получить данные с CheckButton

19.11.2024, 11:49. Показов 756. Ответов 0

Студворк — интернет-сервис помощи студентам
Часть кода, что представлена ниже отвечает за создание чекбоксов напротив каждого пользователя, который есть в spisok_list.
Цикл работает исправно и чекбоксы создаются в необходимом количестве и где необходимо, но проблема в том, что когда я пытаюсь получить состояния чекбоксов - то везде получаю, что они не выбраны\не отмечены.

По логике - цикл enumerate(spisok_list) создает чекбоксы и записывается ссылки на них в vibrannie_zayvki[polzovatel] = []
После того, как пользователь выбирает то, что ему необходимо - жмется кнопка sozdanie, которая активирует функцию raspredelenie_polzovateley. Итогом функция выводит, что все чекбоксы не выбраны.
В чем моя ошибка?
Кликните здесь для просмотра всего текста
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
    y_position = padding * 3 # Начальная позиция по оси y (под заголовком)
    vibrannie_zayvki={}
    for i, polzovatel in enumerate(spisok_list):
        polzovatel_label = ttk.Label(okoshko_parametr, text=polzovatel, font='Osnova 12')
        polzovatel_label.place(x=padding, y=y_position+100)
 
        vibrannie_zayvki[polzovatel] = []
        x_position = padding+253
        for j in range(37):
            var = BooleanVar()
            chekbox = ttk.Checkbutton(okoshko_parametr,variable=var)
            vibrannie_zayvki[polzovatel].append(var)
 
            #Цикл расстановки чекбоксов
            if 0 <= j <= 4:  # Первые 4 чекбокса
                chekbox.place(x=x_position, y=y_position+100)
                x_position += 25
 
            elif 5 <= j <= 31:
                group_index = (j - 5) // 3  # Номер тройки (от 0 до 8)
                position_in_group = (j - 5) % 3  # Позиция внутри тройки (0, 1, 2)
 
                if position_in_group == 0:  # Первый чекбокс тройки
                    x_position += 20  # Отступ между тройками
                chekbox.place(x=x_position, y=y_position+100)
                x_position += 15  # Интервал 15 пикселей внутри тройки
 
            elif j > 31:  # Последние 5 чекбоксов
                if j == 32:  # Отступ перед последними 5 чекбоксами
                    x_position += 20
                chekbox.place(x=x_position, y=y_position+100)
                x_position += 15  # Интервал 15 пикселей между чекбоксами
        y_position += (height_polzovateley*1.5)  # Смещаемся для следующего пользователя
 
    def raspredelenie_polzovateley():
        for user, var_list in vibrannie_zayvki.items():
            print(f'Пользователь: {user}')
            for index, var in enumerate(var_list):
                state = 'выбран' if var.get() else 'не выбран'
                print(f'- Чекбокс {index+1}: {state}')
 
    sozdanie = ttk.Button(okoshko_parametr, text='Создать заявки в папку:', command=raspredelenie_polzovateley)
    sozdanie.place(x=padding, y=height_okoshka-padding-10)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.11.2024, 11:49
Ответы с готовыми решениями:

Не удается получить данные из <div>
Господа,есть вопрос. необходимо получить содержимое блока &lt;div&gt;, а точнее текст,без тегов(в общем-то с тегами проблемы нет). Делаю...

Не удается получить данные из формы
Код html с формой: &lt;!DOCTYPE html&gt; &lt;html &gt; &lt;head&gt; &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot;&gt; ...

Не удается получить кириллические данные из MS SQL
Здравствуйте. Не удается получить кирилические данные из таблицы MSSQL, она упорно возвращает из этих столбцов ...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.11.2024, 11:49
Помогаю со студенческими работами здесь

Qt Mac OS, не удаётся получить данные в SQLite
Здравствуйте, уважаемые формучане, у меня такая проблема: Подключился к БД, написал запрос для получения данных: #include...

Скрипт рейтинга - не удается получить данные из БД
здравствуйте не могу разобраться с кодом скрипт рейтинга, пытался весь день решить проблему сам. Подскажите пожалуйста почему не удается...

Не удается получить данные с сервиса погоды
Добрый день. Есть небольшое приложение ASP.NET MVC, где есть : модель ,в которой реализованы классы для считывания данных с сайта...

CKEDITOR: не удается получить данные из формы
Всем привет! кто нибудь работал с редактором ckeditor? У меня такая проблемка, не получаеться достать данные из формы редактора. Т.е...

Интернет-эквайринг. Не удается получить данные от банка
Господа, новичку нужна ваша помощь. Ситуация такая: после того, как на стороне банка клиент произвел оплату при помощи банковской карты,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
YAFU@home — распределённые вычисления для математики. На CPU
Programma_Boinc 20.01.2026
YAFU@home — распределённые вычисления для математики. На CPU YAFU@home — это BOINC-проект, который занимается факторизацией больших чисел и исследованием aliquot-последовательностей. Звучит. . .
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru