Название: Как сделать такую модель/представление? Отправлено: phpCoder от Март 13, 2015, 21:33 Добрый день.
Нужно сделать следующую модель/представление: Есть три колонки (аля QListWidget/View) - A1, B1 и B2. Как видно, две последних колонки объеденены одним смыслом. Из колонки А1 можно перетаскивать итемы только в колонку B1. Из B1 соответственно обратно в А1. Перетаскивания вида А1 -> А1 и B1 -> B1 запрещены. Перетаскивать что-либо в B2 также запрещается. Когда пользователь нажимает (выделяет) элемент в колонке B2, в колонке B1 отображаются его дочерние элементы (если они есть). Как можно подобное сделать? На какие классы смотреть? Наследовать что-то или как-то сигналами/слотами объединить обособленные QListWidget/View? Название: Re: Как сделать такую модель/представление? Отправлено: Bepec от Март 13, 2015, 22:19 У вас по смыслу получаются 3 View. 1 основная, вторая связанные с основной, третья - связанный с второй. 3 степени иерархии. Как это в одну view вместить я не представляю :)
Название: Re: Как сделать такую модель/представление? Отправлено: phpCoder от Март 13, 2015, 22:35 Колонка B1 сделана для просмотра содержимого элемента, выбранного в колонке B2. Т.е. все это работает как в QColumnView. Я бы сделал три отдельных QListWidget/View, но QListWidget/View не иерархична. Значит для колонок B1 и B2 нужна иерархия, но при этом чтобы внешне на экране это выглядело как QListWidget/View.
Название: Re: Как сделать такую модель/представление? Отправлено: Igors от Март 14, 2015, 09:11 Когда пользователь нажимает (выделяет) элемент в колонке B2, в колонке B1 отображаются его дочерние элементы (если они есть). Странно что дети слева от родителя, ну Вам виднее. В любом случае это дерево, так почему не использовать QTreeWidget? Придется немного повозиться с DnD, но это не смертельно Название: Re: Как сделать такую модель/представление? Отправлено: phpCoder от Март 14, 2015, 10:27 Я хотел разделить родительные элементы и дочерние элементы и расположить их в разные виджеты (как это сделано в QColomnView) - так мне удобнее. А в QTreeWidget как это сделать?
Название: Re: Как сделать такую модель/представление? Отправлено: Igors от Март 14, 2015, 11:59 Я хотел разделить родительные элементы и дочерние элементы и расположить их в разные виджеты (как это сделано в QColomnView) - так мне удобнее. А как в QColomnView Вы добавите колонку "A" эл-ты которой ни родители ни чайлды колонок B1 и B2 ?А в QTreeWidget как это сделать? Добавляете QTreeWidgetItem(ы) которые могут иметь любое число колонок, и располагаете эти колонки как надо |