Найти - Пользователи
Полная версия: Listbox в Tkinter
Начало » GUI » Listbox в Tkinter
1 2 3 4 5 6
Yura_Lemeshko
4kpt_II
Ну и что мне с этим делать?Вы можете нормально поставить задачу и я Вам подробно расскажу как ее решить.P.S. Бан, потому, как не зная сам вообще ничего он пытался учить. Когда учил использовал жутки говнокод. На форуме устоялось, что говнокод может быть в вопросах, но не в ответах


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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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


1. С классами начинал работать. Но перешел на структурный вид, так-как человек который учил - показывал пишет структурами.
2. Вроде понятно и нормально. Человек оценивал ему норм.
Yura_Lemeshko
Yura_Lemeshko
Кликнули на КВР, выскочил листбокс подлежащий ему.
Такие же операции и для “Монтаж п/н”, “Проектні роботи”, “Огляди, ЕО, атестація”.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB