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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Считать selection построчно  (Прочитано 3135 раз)
mwnuke
Гость
« : Март 16, 2008, 00:09 »

Возникла необходимость считать выделеные ячейки из QTableView построчно.
Assistant предлагает след. метод обращения к выделеным ячейкам:
Код:
QModelIndexList indexes = selectionModel->selectedIndexes();
        QModelIndex index;

        foreach(index, indexes) {
            QString text = QString("(%1,%2)").arg(index.row()).arg(index.column());
            model->setData(index, text);
        }

но он не совсем подходит, т.к. выдает значения по столбцам.
Т.е. есть например выделеные ячейки:
1 2 3
4 5 6
7 8 9

Вышеупоменутый метод считает их так: 1, 4, 7, 2, 5, 8, 3, 6, 9

А мне нужно считать все построчно. Т.е.: 1, 2, 3, 4, 5, 6 ,7, 8,9 и при этом знать, где началась новая строка. =)
Записан
EhTemka
Гость
« Ответ #1 : Март 18, 2008, 17:52 »

QModelIndexList indexes = selectionModel->selectedRows();
Записан
mwnuke
Гость
« Ответ #2 : Март 19, 2008, 08:19 »

QModelIndexList indexes = selectionModel->selectedRows();
С сожалению данный метод не подходит.
Цитата из документации:
Цитировать
Returns the indexes in the given column for the rows where all columns are selected.
Т.е. возвращаются индексы только тех строк, в которых все стоблцы выделены.

Я так понимаю, что единственный вариант -  это получить selectedIndexes и уже в цикле обрабатывать их с помощью различных условий.
« Последнее редактирование: Март 19, 2008, 08:21 от mwnuke » Записан
Tonal
Гость
« Ответ #3 : Март 19, 2008, 11:10 »

Отсортируй их построчно - что за беда? :-)
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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