Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 17, 2014 16:00:57

Yura_Lemeshko
Зарегистрирован: 2014-09-09
Сообщения: 50
Репутация: +  0  -
Профиль   Отправить e-mail  

Listbox в Tkinter

4kpt_II
Ну и что мне с этим делать?Вы можете нормально поставить задачу и я Вам подробно расскажу как ее решить.P.S. Бан, потому, как не зная сам вообще ничего он пытался учить. Когда учил использовал жутки говнокод. На форуме устоялось, что говнокод может быть в вопросах, но не в ответах


Ухты, как у Вас сбилось.
Пример.
1.Ввели значения в “Замовник” что бы, новые записи сохранились нажимаем на “Сохранить”.
2. Так же и для “Загальний вид робіт”.
3. Вот в чем проблема, когда записываю значения в “Замовник” или “Загальний вид робіт” сохраняю их отдельно каждый как и задумано. Но, когда закрываю, а потом открываю программу, значения из “Замовник” отображаются в “Загальний вид робіт” и наоборот.

Отредактировано Yura_Lemeshko (Сен. 17, 2014 16:02:23)

Прикреплённый файлы:
attachment Беда.png (179,1 KБ)

Офлайн

#2 Сен. 17, 2014 16:24:01

4kpt_II
От: Харьков
Зарегистрирован: 2013-10-24
Сообщения: 999
Репутация: +  58  -
Профиль   Отправить e-mail  

Listbox в Tkinter

Нет. Не так. В Вашем коде запутанном сложно разобраться. Давайте сначала.

Какая вообще стоит задача. Я посоветую какие виджеты использовать, как их правильно расположить. И как вообще все эти объекты связать. Потому как то, что Вы умудрились наколбасить поддерживать и расширять в дальнейшем будет просто нереально Вы сами видите, что оно работает не совсем так, как Вам бы хотелось…

Отредактировано 4kpt_II (Сен. 17, 2014 16:24:24)

Офлайн

#3 Сен. 17, 2014 16:31:46

Yura_Lemeshko
Зарегистрирован: 2014-09-09
Сообщения: 50
Репутация: +  0  -
Профиль   Отправить e-mail  

Listbox в Tkinter

4kpt_II
Нет. Не так. В Вашем коде запутанном сложно разобраться. Давайте сначала.Какая вообще стоит задача. Я посоветую какие виджеты использовать, как их правильно расположить. И как вообще все эти объекты связать. Потому как то, что Вы умудрились наколбасить поддерживать и расширять в дальнейшем будет просто нереально Вы сами видите, что оно работает не совсем так, как Вам бы хотелось…

Надо что бы, в “Замовник”, “Загальний вид робіт” в Listbox можно было добавлять, редактировать значения и сохранять что бы, они не пропадали при закрытии самой программы.

КВР — копировал значения из “Замовник” так же сделал и для остальных. Да можно создать общие значения и обращатся к ним вызывая Listbox но как это зделать не знаю. Выходит это как с кнопкой “Зберегти”?

Отредактировано Yura_Lemeshko (Сен. 17, 2014 16:50:19)

Офлайн

#4 Сен. 17, 2014 16:37:52

Yura_Lemeshko
Зарегистрирован: 2014-09-09
Сообщения: 50
Репутация: +  0  -
Профиль   Отправить e-mail  

Listbox в Tkinter

4kpt_II
Нет. Не так. В Вашем коде запутанном сложно разобраться. Давайте сначала.Какая вообще стоит задача. Я посоветую какие виджеты использовать, как их правильно расположить. И как вообще все эти объекты связать. Потому как то, что Вы умудрились наколбасить поддерживать и расширять в дальнейшем будет просто нереально Вы сами видите, что оно работает не совсем так, как Вам бы хотелось…

Тот код который прислал AZJIO устраивает, да возможно кривой ) но не разбираюсь пока что как это плохой код, а как хороший.
Хороши — читабельный и структурирован?
Далее переделал что бы, при нажатии на один из Radibutton вызывался подлежащий ему Listbox. Но где-то допустил ошибку и записи сохраняются друг на друга.

Офлайн

#5 Сен. 17, 2014 17:04:01

4kpt_II
От: Харьков
Зарегистрирован: 2013-10-24
Сообщения: 999
Репутация: +  58  -
Профиль   Отправить e-mail  

Listbox в Tkinter

Начнем с самого начала
На root должны быть виджеты:
1. Два листбокса. Слева - с клиентами. Справа - с работами, которые для этого клиента выполняются.
2. Кнопка + и кнопка - под каждым листбоксом. При нажатии на кнопку + в листбокс можно добавить запись.
3. При нажатии на кнопку + появляется новое окно верхнего уровня. В этом окне поле ввода и две кнопки: “сохранить” и “отменить”.
4. При нажатии на кнопку “+” под вторым листбоксом появляется новое окно верхнего уровня. В этом окне, кроме поля ввода и кнопок сохранить и отменить еще есть выпадающий список. Из него можно выбрать. И то, что будет выбрано, будет добавлено в поле ввода. При вводе в поле ввода вручную при последующем добавлении введенный вариант будет добавлен в выпадающий список.
5. Кнопка минус удаляет ту запись, где находится полоса выделения в списке.

P.S. Все это должно сохранятся на диск.

Я все верно понял?

Отредактировано 4kpt_II (Сен. 17, 2014 17:05:26)

Офлайн

#6 Сен. 17, 2014 23:23:38

Yura_Lemeshko
Зарегистрирован: 2014-09-09
Сообщения: 50
Репутация: +  0  -
Профиль   Отправить e-mail  

Listbox в Tkinter

4kpt_II
Начнем с самого начала На root должны быть виджеты:1. Два листбокса. Слева - с клиентами. Справа - с работами, которые для этого клиента выполняются.2. Кнопка + и кнопка - под каждым листбоксом. При нажатии на кнопку + в листбокс можно добавить запись.3. При нажатии на кнопку + появляется новое окно верхнего уровня. В этом окне поле ввода и две кнопки: “сохранить” и “отменить”.4. При нажатии на кнопку “+” под вторым листбоксом появляется новое окно верхнего уровня. В этом окне, кроме поля ввода и кнопок сохранить и отменить еще есть выпадающий список. Из него можно выбрать. И то, что будет выбрано, будет добавлено в поле ввода. При вводе в поле ввода вручную при последующем добавлении введенный вариант будет добавлен в выпадающий список.5. Кнопка минус удаляет ту запись, где находится полоса выделения в списке.P.S. Все это должно сохранятся на диск.Я все верно понял?


1. Есть листбокс св который вводятся данные клиент. Под ним есть кнопки “+” добавить запись, “Править” редактировать запись, “-” удалить запись. (Рис. 1)

2. Есть четыре вида работ которые выполняются (использовал Radiobutton). В эти работы входят свои собственные виды работ (выпадающие списки исполнены Listbox). В этих Listbox тоже можно добавлять, править и удалять. (Рис. 2)

3. Заполнение происходит так вводится значение в поле и нажимается “+”.
Для клиента свое поля, для видов работ свое поле.(Рис. 2)

4. Сохранение происходит в самой программе (не надо сохранять в кокой-то файл, распечатываться они не будут).

5. Редактирование происходит следующим образом, выбирается один из списка он отображается в поле (на рисунке отображенное зелёным), корректируется и при нажатии на “править” изменяется запись.

6. Помимо общего сохранения всей программы есть кнопки сохранить для этих листбоксов которые сохраняют значения в них.

Прикреплённый файлы:
attachment Рис.1.png (10,2 KБ)

Офлайн

#7 Сен. 17, 2014 23:24:49

Yura_Lemeshko
Зарегистрирован: 2014-09-09
Сообщения: 50
Репутация: +  0  -
Профиль   Отправить e-mail  

Listbox в Tkinter

Yura_Lemeshko

Прикреплённый файлы:
attachment Рис.2.png (11,8 KБ)

Офлайн

#8 Сен. 17, 2014 23:35:50

4kpt_II
От: Харьков
Зарегистрирован: 2013-10-24
Сообщения: 999
Репутация: +  58  -
Профиль   Отправить e-mail  

Listbox в Tkinter

Вынос мозга. Завтра выложу пункт 1. По остальным пунктам либо я сильно привык к хорошему дизайну пользовательского интерфейса, либо Вы чудите не-по-детски

P.S. Пока напишите, как при таком дизайне пользователь должен ассоциировать клиента и перечень работ. Может там лучше двойной листбокс. Первый - вид работ. Второй-подвид работ.
И сразу отображать два листбокса. В первом - пользователь. Во втором (двойном) - виды работа за ним закрепленные. Когда переключаетесь по-пользователям справа показываются все виды и подвиды работ по этому пользователю. Может так лучше?

P.S.S. ООП понимаете?

Отредактировано 4kpt_II (Сен. 17, 2014 23:36:18)

Офлайн

#9 Сен. 18, 2014 07:45:34

Yura_Lemeshko
Зарегистрирован: 2014-09-09
Сообщения: 50
Репутация: +  0  -
Профиль   Отправить e-mail  

Listbox в Tkinter

4kpt_II
Вынос мозга. Завтра выложу пункт 1. По остальным пунктам либо я сильно привык к хорошему дизайну пользовательского интерфейса, либо Вы чудите не-по-детски P.S. Пока напишите, как при таком дизайне пользователь должен ассоциировать клиента и перечень работ. Может там лучше двойной листбокс. Первый - вид работ. Второй-подвид работ.И сразу отображать два листбокса. В первом - пользователь. Во втором (двойном) - виды работа за ним закрепленные. Когда переключаетесь по-пользователям справа показываются все виды и подвиды работ по этому пользователю. Может так лучше?P.S.S. ООП понимаете?


1. С классами начинал работать. Но перешел на структурный вид, так-как человек который учил - показывал пишет структурами.
2. Вроде понятно и нормально. Человек оценивал ему норм.

Прикреплённый файлы:
attachment (1).JPG (44,3 KБ)

Офлайн

#10 Сен. 18, 2014 07:51:06

Yura_Lemeshko
Зарегистрирован: 2014-09-09
Сообщения: 50
Репутация: +  0  -
Профиль   Отправить e-mail  

Listbox в Tkinter

Yura_Lemeshko
Кликнули на КВР, выскочил листбокс подлежащий ему.
Такие же операции и для “Монтаж п/н”, “Проектні роботи”, “Огляди, ЕО, атестація”.

Прикреплённый файлы:
attachment (2).JPG (49,0 KБ)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version