Форум сайта python.su
0
Суть такова…
Disclamer: кода не будет, потому как еще не могу придумать концепт, за чем, собственно, и обращаюсь.
Идея такая: на канву добавляются (по запросу пользователя, кликом мыши) элементы (прямоугольники, допустим) которые символизируют собой также объекты в списке. После того, как пользователь завершил создание “графической части” с элементами (объекты разных классов) в списке производятся некие действия. Проблема в следующем - пользователь может “передумать” и удалить какой-то объект с канвы.
Вопрос: каким образом можно “увязать” список объектов, с которыми будут выполняться действия и непосредственно графическое отображение этого списка? Возможно у кого-то есть рабочие примеры таких приложений, или кто-то знает приложение со схожим функционалом с открытыми исходниками, где можно было бы подсмотреть?
Заранее благодарен всем отписавшимся.
UPD:
После того, как написал сообщение подумал - возможно имеет смысл замкнуть работу пользователя непосредственно на “списке”, а канву просто перерисовывать каждый раз, когда в списке происходит какое-то изменение?
Но в таком случае возникает проблема - у пользователя должна быть возможность добавлять объекты “между” уже существующими.
Всё еще благодарен за рекомендации/примеры.
UPD:
Ну и, конечно, в пылу я забыл написать, что в качестве GUI библиотеки решил использовать Tkinter.
Отредактировано Nahtrezer (Март 2, 2015 09:20:55)
Офлайн
39
Зачем канвас. Можно два связанных списка. Первый - возможное количество вариантов. Второй - выбранные варианты. Если же нужно графическое решение (картинка там с текстом или что-то похожее), тогда необходимо в канвасе реализовывать такое понятие, как курсор вставки. Чтобы можно было его перемещать вверх и вниз. Последовательность объектов на канвасе можно узнавать либо по его позиции (координатам) либо предварительной фиксацией методом присвоения тегов.
P.S. Тема должна быть не здесь, а в разделе GUI 
Отредактировано 4kpt_III (Март 2, 2015 12:14:42)
Офлайн