Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 15, 2021 20:17:38

Temp
Зарегистрирован: 2021-01-16
Сообщения: 75
Репутация: +  1  -
Профиль   Отправить e-mail  

PyQt 5 Изменение порядка "списка"

Доброго времени суток!

Работаю в данный момент в QT Designer'e над интерфейсом, но к сожалению стандартные виджеты не могут выполнить (по крайней мере по умолчанию) элементарную функцию: Изменение порядка в списке посредством перетаскивания пользователем ПО (Drag&Drop).

Эту функцию еле нашел в виджете QTableWidget, но к сожалению это не совсем то что мне нужно(

Ниже прикрепил изображение (куда загружать изображение для того чтобы получить URL я так и не понял)

Суть в следующем:

Это грубо говоря ToDo лист, где можно при необходимости изменить порядок объектов
Все объекты сгруппированы.
Программно изменить порядок проще простого, проблема будет для пользователя

Задача следующая: добавить возможность пользователю ПЕРЕТАСКИВАТЬ элементы списка внутри списка.
С учетом наличия возможности удаления элемента списка (в данном случае это кнопка удалить)

Не обязательно использовать Group box как на изображение, это просто визуализация.

Прикреплённый файлы:
attachment пример.png (19,7 KБ)

Офлайн

#2 Фев. 15, 2021 21:33:19

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

PyQt 5 Изменение порядка "списка"

Temp По моему в десигнере такое вам наврядли удасться реализовать, только через код. Оттнаследуйте ваш элемент списка, переопределите dragEnterEvent, dropEvent, MouseMoveEvent…
чтото типа такого https://pythonworld.ru/gui/pyqt5-dragdrop.html



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Фев. 15, 2021 21:33:31)

Офлайн

#3 Фев. 15, 2021 21:41:28

Temp
Зарегистрирован: 2021-01-16
Сообщения: 75
Репутация: +  1  -
Профиль   Отправить e-mail  

PyQt 5 Изменение порядка "списка"

PEHDOM
Temp По моему в десигнере такое вам наврядли удасться реализовать

Прошу прощения что конкретики было так мало, если подходящего виджета нет, то я собирался оставить только ScrollArea а дальше пытаться нарисовать кодом.

Надеялся что есть какие-нибудь стандартные функции

Офлайн

#4 Фев. 16, 2021 12:18:11

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

PyQt 5 Изменение порядка "списка"

Temp
если подходящего виджета нет, то я собирался оставить только ScrollArea а дальше пытаться нарисовать кодом.

Надеялся что есть какие-нибудь стандартные функции
У QAbstractItemView и его наследников QColumnView, QHeaderView, QListView, QTableView, and QTreeView(и соотвевенно наследников наследников) есть DragDropMode { NoDragDrop, DragOnly, DropOnly, DragDrop, InternalMove }
Может вам это поможет както.



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Отредактировано PEHDOM (Фев. 16, 2021 12:18:57)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version