Форум сайта python.su
Господа, прошу помощи в создании виджета. Задача в том, чтобы сделать грид, поместить туда объекты, типа прямоугольников, с возможностью двигать эти объекты по всему гриду. Желательно, чтобы такой объект можно было поместить на границе двух ячеек, т.е. одна часть в области одной ячейки, а другая второй. Визуально должно получиться типа сетки расписаний для работников.
Не могу понять, от чего лучше наследоваться и что переопределять, чтобы получить такой функционал…
Предполагаю, что стоит смотреть в сторону QAbstractModel + ATableView + Drag'n'Drop и копаться в QAbstractItemModel.
Офлайн
WindeLБез этого, можно было бы обойтись http://qt-project.org/doc/qt-4.8/qabstractitemdelegate.html
Желательно, чтобы такой объект можно было поместить на границе двух ячеек, т.е. одна часть в области одной ячейки, а другая второй.
Офлайн
reclosedev, cпасибо за делегатов. Понимаю, что надо в эту сторону смотреть. Можно обойтись и жесткими границами ячеек для перемещающихся объектов. Приложил файл как примерно должно все выглядеть.
Прикреплённый файлы: schedule.png (97,7 KБ)
Офлайн
А, диаграмма Ганта. Тогда еще есть вариант от QTableView совсем отказаться, и рисовать все кроме хедеров самому, и сделать нормальный API, заточенный конкретно под расписание.
Или все-таки использовать делегаты и разделить месяц на 4 части.
Еще можно поискать “qt gantt chart”. Но я бегло (очень) посмотрел, попадаются только платные компоненты и вопросы.
Офлайн
Да, я понял, что не надо использовать таблицу для того, для чего она не предназначена. Буду свой виджет делать.
Офлайн