Название: [РЕШЕНО] подскажите как вставить в корень TreeView Отправлено: unkeep от Июнь 20, 2013, 12:32 У меня новый итем вставляется в выбранного пользователем родителя. Однако в моём дереве нет одного, общего для всех родителя. Соответственно не могу вставить в корень :(
(http://my.jetscreenshot.com/19965/m_20130620-ejpt-99kb.jpg) мои варианты: 1)отдельная кнопка для вставки в корень 2)несуществующий на самом деле, но отображающийся корень(для всех родитель) - не знаю как реализовать 3)добавить в базу данных корень ваши варианты? Название: Re: подскажите как вставить в корень TreeView Отправлено: kambala от Июнь 20, 2013, 12:43 QTreeView::setRootIsDecorated(bool)
Название: Re: подскажите как вставить в корень TreeView Отправлено: unkeep от Июнь 20, 2013, 12:59 у меня стоит тру. просто рута одного как такового нет. все модули 1,2,3..и тд и есть руты
Название: Re: подскажите как вставить в корень TreeView Отправлено: kambala от Июнь 20, 2013, 13:31 рут может быть только один. а твои «рут»-элементы называются top-level items.
проверь, может у тебя где-то в коде на false сбрасывается. у тебя QTreeView или QTreeWidget? Название: Re: подскажите как вставить в корень TreeView Отправлено: dio от Июнь 20, 2013, 13:48 Еще вариант, вставлять на верхний уровень, если нет выделенной записи дерева.
Название: Re: подскажите как вставить в корень TreeView Отправлено: Alex Custov от Июнь 20, 2013, 15:13 invisibleRootItem() ?
Название: Re: подскажите как вставить в корень TreeView Отправлено: Bepec от Июнь 20, 2013, 15:25 Alex а теперь смотрим на название темы и понимаем, что это не treeWidget :D
Название: Re: подскажите как вставить в корень TreeView Отправлено: tester64 от Июнь 20, 2013, 16:00 QAbstractItemView::rootIndex()
Название: Re: подскажите как вставить в корень TreeView Отправлено: unkeep от Июнь 21, 2013, 14:36 Еще вариант, вставлять на верхний уровень, если нет выделенной записи дерева. да, рассматривал такой вариант, но сбросить выделение нельзя никак если что-то выбрано былоНазвание: Re: подскажите как вставить в корень TreeView Отправлено: unkeep от Июнь 21, 2013, 14:53 QAbstractItemView::rootIndex() ну вернул он мне Код и что дальше? Название: Re: подскажите как вставить в корень TreeView Отправлено: unkeep от Июнь 21, 2013, 14:57 рут может быть только один. а твои «рут»-элементы называются top-level items. QTreeView . А на false не сбрасывался. пробовал специально поставить false так у "top-level items" исчезла возможность развёртывания. Список получился)проверь, может у тебя где-то в коде на false сбрасывается. у тебя QTreeView или QTreeWidget? Название: Re: подскажите как вставить в корень TreeView Отправлено: unkeep от Июнь 21, 2013, 15:17 рут может быть только один. а твои «рут»-элементы называются top-level items. и мне всё таки кажется, что они рутовые. так ка у них masterID = null. По нормальному надо было бы сделать их masterID 1 и добавить запись с ID=1, masterID = null. Но тоже, запись в базе, ничего в себе не хранящая..мне кажеться, что можно выкрутиться как-то программно...проверь, может у тебя где-то в коде на false сбрасывается. у тебя QTreeView или QTreeWidget? Название: Re: подскажите как вставить в корень TreeView Отправлено: kambala от Июнь 21, 2013, 17:05 может ты через стили сделал его невидимым?
Название: Re: подскажите как вставить в корень TreeView Отправлено: dio от Июнь 22, 2013, 17:39 Еще вариант, вставлять на верхний уровень, если нет выделенной записи дерева. да, рассматривал такой вариант, но сбросить выделение нельзя никак если что-то выбрано былоЯ реализовывал такой вариант при выполнении обновления (refresh). У меня было задействована QItemSelectionModel. Сброс выделения производился вызовом метода reset() у View и SelectionModel. Название: Re: подскажите как вставить в корень TreeView Отправлено: Akon от Июнь 23, 2013, 12:52 Цитировать ваши варианты? Контекстное меню, вызванное по щелчку на пустом месте (а не на айтеме) относится к руту. Также должно меню рута и вызваться при щелчке на айтеме, только с удержанием Shift, например.Название: Re: подскажите как вставить в корень TreeView Отправлено: unkeep от Июнь 24, 2013, 09:28 может ты через стили сделал его невидимым? нет.Название: Re: подскажите как вставить в корень TreeView Отправлено: unkeep от Июнь 24, 2013, 09:36 Цитировать ваши варианты? Контекстное меню, вызванное по щелчку на пустом месте (а не на айтеме) относится к руту. Также должно меню рута и вызваться при щелчке на айтеме, только с удержанием Shift, например.у QtreeView нет сигнала о клике по пустой области, и этого пустого места так мало, что трудно прицелиться. Название: Re: подскажите как вставить в корень TreeView Отправлено: Bepec от Июнь 24, 2013, 09:50 Код: void mousePressEvent ( QMouseEvent * ) Как бы сигнал о клике в любом месте. А уже проверить "пустоту" не должно для вас составить труда. Название: Re: подскажите как вставить в корень TreeView Отправлено: unkeep от Июнь 25, 2013, 11:45 Решил добавить кнопку "Новый раздел"
|