Новая статья - "QListView - как реализовать множественный выбор"
Цитата:
Компонент, о котором пойдет в этой статье, используется часто в самых различных ситуациях. И это в принципе не удивительно, QListView во первых позволяет удобно отображать самые разные типы данных, во вторых - в полной мере реализует принцип Model-View (модель-представление).
Но начинающих часто может поставить в тупик - как реализовать множественный выбор в данном компоненте (да и не только в нем - данный подход достаточно универсален для всех компонентов, которые наследуют от QAbstractItemView)?
Сейчас я попытаюсь показать - как это можно сделать.
Для начала предположим, что у нас на форме находится компонент типа QListView, назовем его lwMain. Данный компонент отображает данные из модели QSqlQueryModel, которая получает из базы два поля - идентификатор и имя объекта. Наша задача - получить список выбранных идентификаторов и имен - и передать их далее.
Для реализации множественного выбора необходимо установить поле selectionMode в значение QAbstractItemView::MultiSelection либо QAbstractItemView::ExtendedSelection. Эти два типа отличаются тем, что в последнем случае множественный выбор происходит только при зажатой клавише Shift либо Ctrl
"QListView - как реализовать множественный выбор" - читать далее
Если есть вопросы - задавайте.
Я не допонял, в этой статье есть какая нибудь "фишка", того что не описано/коряво описано в документации, или же это просто "для чайников"?
Я, например, не нашел в документации внятного примера по данной теме. У Бланшет - вроде тоже четкого описания нет. У Шлее - не моу посмотреть - так как под рукой нет. Поэтому написал для своих учеников данную статью - вряд ли она уж совсем для чайников.
В документации с наскока это сложно найти.
PS: может пора уже FAQ по QT на форуме организовать?
Ну так в статье собственно и рассказано - как это сделать :)
Цитата: kot_
Ну так в статье собственно и рассказано - как это сделать :)
Акцента нет, на то что я описал выше, поэтому и не сразу понял, в чем прикол и полезность статьи.
Цитата:
Для того, что бы получить список выбранных строк в компоненте необходимо обратиться к методу selectionModel(), возвращающий указатель на модель данных для выбранных строк QItemSelectionModel*, которая, в свою очередь, имеет метод selectedIndexes(). Как понятно из названия, этот метод возвращает QModelIndexList - список индексов, который можно использовать для доступа к выделенным данным.
куда еще акценты делать? :)
Цитата: kot_
Прикалываешься?
куда еще акценты делать? :)
куда еще акценты делать? :)
значит я невнимательно читал, сорри
Хотя, для таких как я, которые не любят много читать, можно было б текста поменьше, наверно тогда б заметил.