Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Зайка_программист от Январь 11, 2013, 14:02



Название: TreeWidgeе.Как обратится к элементу следующий за root?
Отправлено: Зайка_программист от Январь 11, 2013, 14:02
Суть в том, что есть опять же дерево по клику ходим по нему. Но он сдвинут на один, как бы мне получить все таки первый элемент, а нет рута?


Название: Re: TreeWidgeе.Как обратится к элементу следующий за root?
Отправлено: carrygun от Январь 11, 2013, 15:15
В приложении компилируемый пример. Надеюсь так то понятно будет?


Название: Re: TreeWidgeе.Как обратится к элементу следующий за root?
Отправлено: lit-uriy от Январь 11, 2013, 23:23
блин, вот то что ты написал, читается с большим трудом.
>Но он сдвинут на один
на один ЧТО/ЧЕГО?

>а нет рута
тут вообще сложно.

Не спеши, написал, прочитай что получилось, всё равно быстро на плохое описание никто не ответит по  существу.


Название: Re: TreeWidgeе.Как обратится к элементу следующий за root?
Отправлено: carrygun от Январь 12, 2013, 10:12
блин, вот то что ты написал, читается с большим трудом.
>Но он сдвинут на один
на один ЧТО/ЧЕГО?

>а нет рута
тут вообще сложно.

Не спеши, написал, прочитай что получилось, всё равно быстро на плохое описание никто не ответит по  существу.

Тут есть целая история с похожими темами.  :)


Название: Re: TreeWidgeе.Как обратится к элементу следующий за root
Отправлено: Зайка_программист от Январь 14, 2013, 14:18
Извините за не корректное описание!

carrygun, это не много не то, но все равно большое спасибо за столь подробное описание

Попробую еще раз.
Есть treewidget и webviewer.
Кнопка при нажатии на которую происходит сдвиг на один item вниз.
Т.е. реализую итератор.

В конструкторе прописываю
Код
C++ (Qt)
m_item=twg->invisibleRootItem();
для получения корневого элемента.

Проблема заключается в том, что он начинает движение именного с него, а надо с первого(тот который после рута).

Вот так вроде понятнее.
Вот.
Как начать хоть с выделенного элемента на картинке
(http://s58.radikal.ru/i162/1301/80/fb2d00d3c1d6.png) (http://www.radikal.ru)


Название: Re: TreeWidgeе.Как обратится к элементу следующий за root?
Отправлено: kambala от Январь 14, 2013, 14:59
как найти ответ на свой вопрос:
1. открыть документацию QTreeWidget
2. найти методы, возвращающие QTreeWidgetItem *
3. прочесть названия и описания этих методов
4. выбрать подходящий

используя этот простой алгоритм, можно выйти на методы itemBelow(QTreeWidgetItem *) и topLevelItem(int):
Код
C++ (Qt)
m_item = twg->itemBelow(twg->invisibleRootItem());
// или
m_item = twg->topLevelItem(0);