Разные варианты выделения мышью в QTableView, точнее, различный порядок добавления индексов |
Здравствуйте, гость ( Вход | Регистрация )
Разные варианты выделения мышью в QTableView, точнее, различный порядок добавления индексов |
Гость_retif_* |
7.12.2012, 21:10
Сообщение
#1
|
Гости |
На форме находится QTableView, у него выставлены свойства:
Пример таблицы: 1 | 2 | 3 ----------- 4 | 5 | 6 Выделение строк мышью (порядок считывания индексов) происходит двумя способами (это не я сделал, это так на стандартных классах):
Как можно отличать, каким именно способом произошло выделение? Мне нужно записать выделенные строки в файл, но я могу учесть только один из вариантов. Мне требуется записывать построчно, как при первом варианте (выделено зелёным цветом). Саму запись в файл делаю так (опуская подробности):
|
|
|
RazrFalcon |
7.12.2012, 22:08
Сообщение
#2
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
Есть такой прикол.
Проще всего просто пройтись по строкам и самому проверить выделены ли они. Либо генерерировать массив с привязкой к id строки, если такая имеется, и потом его сортировать. |
|
|
Litkevich Yuriy |
7.12.2012, 22:31
Сообщение
#3
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Вот тебе вырезка:
этот фрагмент кода, копирует данные из таблицы в str, доработай его.
|
|
|
retif |
8.12.2012, 1:01
Сообщение
#4
|
Новичок Группа: Новичок Сообщений: 1 Регистрация: 8.12.2012 Пользователь №: 3635 Спасибо сказали: 0 раз(а) Репутация: 0 |
Litkevich Yuriy, да, код прекрасно работает при обоих видах выделения, которые я перечислил. Спасибо, по готовому будет легче разобраться. Я даже не знаю, что можно доработать, потому что для моих целей тут всё уже есть.
Только вопрос, под выделение сейчас попадают также и промежуточные строки: например, я выделю только две, 1 и 5 строки, и хотя выделенными на view отобразятся лишь они, но в выделение и в результат попадут кроме них также 2, 3 и 4 строки, то есть оно выделяет "сплошным прямоугольником" по углам. Это вы и имели в виду под доработкой? Или никак иначе выделение не работает? RazrFalcon, признаться, я не понял про сортировку. А вот про проверку выделено/не выделено я даже как-то и не подумал, надо попробовать. |
|
|
lanz |
1.2.2013, 8:17
Сообщение
#5
|
Старейший участник Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8 |
Можно еще посмотреть на http://doc.qt.digia.com/qt/qitemselectionm...ml#selectedRows
|
|
|
Текстовая версия | Сейчас: 27.11.2024, 20:25 |