![]() |
|
![]() ![]() ![]() |
|
OlegIT |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 684 Регистрация: 5.4.2006 Репутация: нет Всего: нет |
Есть отображение QTreeView. Мышью выделяю строку, потом нажимаю кнопку в меню или по которой делаю swap(…) элементов. Всё работает, но при этом теряется выделение строки. Для того, что бы сохранить выделенную строку перед swap(…)сохраняю выделение
Но выделение строки остаётся на месте, хотя строка, которую я выделил, перемещается на нужное место. Как программно отследить позицию строки и правильно поставить выделение? |
||||
|
|||||
math64 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 23 Всего: 72 |
Индекс представляет из себя (номер строки, номер колонки, родительский индекс). После перестановки строк он становится невалидным или указывает на другую строку, поскольку эти данные поменялись.
Нужно создавать новый индекс. |
|||
|
||||
OlegIT |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 684 Регистрация: 5.4.2006 Репутация: нет Всего: нет |
||||
|
||||
math64 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 23 Всего: 72 |
Если родителя не перемещаешь:
|
|||
|
||||
OlegIT |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 684 Регистрация: 5.4.2006 Репутация: нет Всего: нет |
Сделал так
N зависит от swap, что и куда. Работает. Или лучше как Вы указали? |
|||
|
||||
math64 |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 23 Всего: 72 |
Раз работает - оставляйте так. Можно ещё использовать index.sibling(row, column); - соседний индекс с тем же родителем.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |