alex_lip8 декабря 2017 г. 6:46
Как значение текущего элемента ListView получить вне ListView
Есть ListView - в нем список элементов. Как значение текущего элемента ListView получить вне ListView?
Пытаюсь сделать так - объявил property - затем по клику на элементе ListView присваиваю этому property значение текущего элемента. Все хорошо. Но как найти значение первого элемента при открытии ListView ?
Или какой еще есть способ?
property string id_file: "" ListView { id: view_file model: myModel_file highlight: Rectangle { color: "orange" width: 4 radius: 5 } delegate: Item { id: listDelegateFile property var view: ListView.view_file property var isCurrent: ListView.isCurrentItem width: view_file.width height: text_file.implicitHeight + 4 Rectangle { anchors.margins: 1 anchors.fill: parent radius: 5 color: isCurrent ? "lightgreen" : "ivory" border { color: "orange" width: 1 } Text { id:text_file anchors.centerIn: parent font.pointSize: 12; font.bold: true textFormat: Text.StyledText width: view_file.width padding : 10 wrapMode: "Wrap" text:"<font color='black'><strong>"+name_doc+"</stron></font>" +" от " +"<font color='black'><em>"+date_izm+"</em></font>" } MouseArea { anchors.fill: parent onClicked: { view_file.currentIndex = model.index id_file=file_docid } //---------------- TextButton { id: v_file anchors.bottom: parent.bottom anchors.left: parent.left width: parent.width/2-1 text:"Открыть" smooth: false onClicked: appCore.p_image(id_file) }
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.Вам это нравится? Поделитесь в социальных сетях!
Комментарии
Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
Пожалуйста, авторизуйтесь или зарегистрируйтесь
AD
- Akiv Doros
- 11 ноября 2024 г. 14:58
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:50баллов,
- Очки рейтинга-4
m
- molni99
- 26 октября 2024 г. 1:37
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:80баллов,
- Очки рейтинга4
m
- molni99
- 26 октября 2024 г. 1:29
C++ - Тест 004. Указатели, Массивы и Циклы
- Результат:20баллов,
- Очки рейтинга-10
Последние комментарии
Django - Урок 055. Как написать функционал auto populate field Freckles because of several brand names retin a, atralin buy generic priligy
QML - Урок 035. Использование перечислений в QML без C++ priligy cvs 24 Together with antibiotics such as amphotericin B 10, griseofulvin 11 and streptomycin 12, chloramphenicol 9 is in the World Health Organisation s List of Essential Medici…
Qt/C++ - Урок 052. Кастомизация Qt Аудио плеера в стиле AIMP It decreases stress, supports hormone balance, and regulates and increases blood flow to the reproductive organs buy priligy online safe Promising data were reported in a PDX model re…
Алгоритм сортировки кучей The role of raloxifene in preventing breast cancer priligy precio
PyQt5 - Урок 006. Работа с QTableWidget buy priligy 60 mg 53 have been reported by Javanovic Santa et al
Сейчас обсуждают на форуме
добавить qlineseries в функции buy priligy senior brother Chu He, whom he had known for many years
Всё ещё разбираюсь с кешем. priligy walgreens levitra dulcolax carbs The third ring was found to be made up of ultra relativistic electrons, which are also present in both the outer and inner rings
IscanderChe31 октября 2024 г. 15:43
Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…
ИМ
Реализация навигации по разделам Спасибо Евгений!
Игорь Максимов3 октября 2024 г. 4:05
Вообще, значение первого элемента в модели данных, можно найти через саму модель данных. А первый элемент можно взять и по обращению через index
Сделал как вы сказали. У меня myListView внутри dialog_file (диалог)
пытаюсь получить чего-нибудь вот так - dialog_file.myListView.currentItem.data - получил некие объекты [object Object] - не знаю что с ними делать.
На самом деле мне нужен текущий элемент модели myModel_file - поле file_docid
Пытаюсь сделать так
console.log(myModel_file.get(0).file_docid)
Пишет
TypeError: Property 'get' of object Sp_fileModel(0x28fd60) is not a function
Погодите... А эта модель самописная (наследованная от QAbstractItemModel)? или всё-таки это ListModel? (которая QML ListModel)
самописная
class Sp_fileModel : public QAbstractListModel
ммм.. тогда нужно реализовать метод get ))) и сделать его как Q_INVOKABLE. Нужен какой-то метод, который вернёт вам нужное значение.
спасибо. попробую.
У меня в модели описана функция доступа по индексу
вот здесь пишут https://stackoverflow.com/questions/20398646/qml-model-data-by-index - что в этом случае ее не надо объявлять Q_INVOKABLEОднако в QML в процедуре Component.onCompleted: { пишет qml: file_docid: undefined
Component.onCompleted: находится внутри delegate: Item {
В том топике сказано, что эти роли берутся в рамках делегата. Вне не будет работать. В рамках делегата подставновка идёт по стороковым именам ролей, которые формируются в методе roleNames()
У меня метод onCompleted внутри делегата.
Таким образом в глобальной переменнойЯ сделал примитивно - объявил две глобальные переменные
property int temp_k: 0
property string id_file: ""
и в методе
при открытии формы оказывается первый элемент . При закрытии диалога - я temp_k - обнуляю.
Я понял - что более правильно создать свой метод, который вернет то что нужно.
Но это для меня не так просто. Будет время - попробую. Спасибо!
А какие значения у QModelIndex ? Это не порядковый номер элемента?
Вот реально огромное спасибо!! У вас большое терпение с нами возиться и отзывчивость.
Пожалуйста ))