Russian Qt Forum
Ноябрь 02, 2024, 17:36 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [РЕШЕНО] как получить порядковый номер строки из QTreeView  (Прочитано 4959 раз)
Hrundel
Гость
« : Сентябрь 17, 2013, 17:10 »

Еще один вопрос за сегодняшний день:

пытаюсь получить порядковый номер строки из QTreeView
index.row() возваращает строку начиная от своего родителя
а мне нужен ее номер в самом QTreeView

подскажите как можно такое получить
спасибо
« Последнее редактирование: Сентябрь 18, 2013, 14:41 от Hrundel » Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4746



Просмотр профиля WWW
« Ответ #1 : Сентябрь 17, 2013, 21:01 »

надо пройтись по всем родителям перед текущим и посчитать сколько у них детей
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
_OLEGator_
Гость
« Ответ #2 : Сентябрь 17, 2013, 21:14 »

В общем случае - это сложно. Если например развернут предыдущий узел - то уже смещение по строкам другое, а если и дети у предыдущего узла развернуты - еще интереснее.
Непонятно, для чего узнавать именно строку, тем более во вью строка - это нечто непонятное, т.к. вью может быть проскролен вниз например.
Записан
Hrundel
Гость
« Ответ #3 : Сентябрь 17, 2013, 21:29 »

да проблема у меня с синхронизацией данных в памяти.
Объясню подробнее
Я сейчас на практике и делаю курсовой. Задача там такая - нужно приделать к nagios монитор для отображения всех участников сети. То есть все машины и свитчи.
Я их все загружаю в вектор из файла, потом считываю в QTreeView. Пользователь должен иметь возможность добавить нового участника в QTreeView
Первоочередная задача - синхронизация QTreeView с QVector.
Я с такими нетривиальными задачами раньше вообще не сталкивался, поэтому даже близко не представляю как это делать.
Моя идея была такова:
вычитываю файл,
загружаю в память
вычитываю из памяти в QTreeView
(это я все смог реализовать)
жму на кнопку удалить
очищаю строку в QTreeView
очищаю в том же порядке запись из QVector. *(не могу релизовать)
потом еще добавить  надо в правильное место.
думал получить бы как нибудь порядковый номер строки и удалить такой же индекс из вектора
QTreeView и моделью представления работаю второй день. Не знаю о них ни хрена, а действовать надо быстро.
Сижу читаю, но что-то светлых идей пока нет.

Помогите советом. Как правильнее подойти.
Записан
_OLEGator_
Гость
« Ответ #4 : Сентябрь 17, 2013, 21:35 »

Тебе надо читать про Model/View. В твоем случае пишется своя модель с контейнером внутри.
Все взаимодействие между моделью и вью будет осуществляться с помощью QModelIndex.
« Последнее редактирование: Сентябрь 17, 2013, 21:52 от _OLEGator_ » Записан
Hrundel
Гость
« Ответ #5 : Сентябрь 17, 2013, 21:41 »

Ок, буду рыть в эту сторону. Спасибо.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.14 секунд. Запросов: 23.