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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: ListView и множественное выделение в QML  (Прочитано 5874 раз)
RustAlex
Гость
« : Сентябрь 28, 2015, 17:50 »

Неужели нельзя задать SelectionMode.MultiSelection для ListView?
Использовать для множественного выделения только TableView? Т.е. брать только один столбец и привязывать модель выделения.
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #1 : Сентябрь 28, 2015, 17:56 »

setSelectionMode определен в QAbstractItemView, поэтому он работает для любых его наследников, включая QListView.
Записан
RustAlex
Гость
« Ответ #2 : Сентябрь 28, 2015, 18:12 »

Свойства selectionMode - нет у ListView...
Необходимо по id из QML кода связать в с++ коде с QListView и уже там задать свойство selectionMode? Так?
Непонятно почему в TableView - свойство сделали доступным в QML...
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #3 : Сентябрь 28, 2015, 18:15 »

http://doc.qt.io/qt-5/qml-qtquick-controls-tableview.html
Здесь описан selectionMode.
Записан
RustAlex
Гость
« Ответ #4 : Сентябрь 29, 2015, 10:47 »

Да. Это как раз описание в TableView. В ListView нельзя задать selectionMode - Cannot assign to non-existent property "selectionMode"

Нашел описание идеи решения здесь:
http://stackoverflow.com/questions/3879591/qml-listview-multiselection#3879591

Хотелось бы конечно примерчик...
Записан
RustAlex
Гость
« Ответ #5 : Сентябрь 29, 2015, 20:16 »

Внутри формы с ListView создано дополнительно GridView - в которые я помещаю выбранные элементы (множественное выделение пока так и не работает)

Код:
ListModel {
                        id: lmSelectUser
                        ListElement {
                            name: "Адресат 1"
                            keyId: 0
                        }
                        ListElement {
                            name: "Адресат 2"
                            keyId: 1
                        }
                    }

После наполнения (с использованием append ) хочу передать модель в  с++, где у меня определена функция (ниже), каким типом передается ListModel? тип ListModel - хоть и определен в listmodel.h недоступен... или я чего-то недоделал

Код:
Q_INVOKABLE void invSendMessage( const _КАКОЙ_КЛАСС_ * model, QString textMessage)
Записан
RustAlex
Гость
« Ответ #6 : Сентябрь 30, 2015, 13:21 »

Может путанно написал. Попробую уточнить вопрос и задать его лаконично:
QML
Код:
ListModel{ id: lmAddress ....}

windwow.invSendRecepient(lmAddress)

При этом в С++ где определит функция как Q_INVOKABLE
каким классом передается ListModel?
C++
Код:
Q_INVOKABLE void invSendRecepient(_КОКОЙ_КЛАСС_)
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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