0 / 0 / 0
Регистрация: 09.07.2014
Сообщений: 11
|
|
1 | |
Использование ProxyModel для отображения элементов ListView24.03.2016, 13:11. Показов 1701. Ответов 16
Метки нет (Все метки)
Здравствуйте, не могу ни как разобраться с таким вот вопросом. У меня есть ListView в нем отображаются некоторые данные в rectangle.Дали задание что бы по клику на эти данные они отрисовывались немного ниже. Но я должен использовать ProxyModel входным параметром для которой должен быть мой ListView и свойство select(), которое должно отображать изменение состояния в ListView. Я понять не могу как это сделать. Самое простое это просто сделать MouseArea и по onClick() работать, но надо так как в задании. А, еще у меня не должно быть wigets. Поэтому можно пользоваться только c++ и qml
0
|
24.03.2016, 13:11 | |
Ответы с готовыми решениями:
16
Какова максимальная скорость отображения элементов в ListView Использование Tasks для отображения результатов операции Использование данных из dataGridView для отображения на карте Использование DISTINCT для отображения уникальных значений |
25.03.2016, 13:57 | 2 |
Это что такое? Не знаю такого... =)
Это как? На листочке изобрази как примерно должно выглядеть. Вообще, описание у тебя довольно бредовое, подумай как сделать его более логичным.
0
|
0 / 0 / 0
Регистрация: 09.07.2014
Сообщений: 11
|
|
25.03.2016, 14:33 [ТС] | 3 |
1)Без виджетов.
Описание довольно бональное, у меня есть мой класс-контейнер в нем хранятся некие данные, далее я вывожу их на форму с помощью ListView. Далее есть MouseArea по клику по которой должна вызываться функция select(). И еще один класс контейнер должен ловить сигналы от этой функции и выводить данные по которым кликнули.
0
|
0 / 0 / 0
Регистрация: 09.07.2014
Сообщений: 11
|
|
26.03.2016, 09:04 [ТС] | 5 |
Вот, кликаем по полю с данными и они отображаются в поле которое расположено ниже.
0
|
26.03.2016, 09:26 | 6 |
То есть у тебя там два ListView? И первый ListView выбирает, какие данные отображать во втором?
Во всяком случае у тебя так нарисовано. P.S. Я ещё раз говорю: возьми ручку, возьми листочек. Нарисуй подробно как должен выглядеть конечный результат или анимация, которую ты хочешь достичь. Потом сфотографируй/отсканируй этот листочек в достаточном качестве и выложи его сюда.
0
|
0 / 0 / 0
Регистрация: 09.07.2014
Сообщений: 11
|
|
26.03.2016, 13:39 [ТС] | 7 |
Да ты правильно понял.
0
|
26.03.2016, 15:11 | 8 |
Как организованы данные, к которым идёт обращение?
Что представляют из себя данные главного ListView, а что - дополнительного? Вообще, неплохо бы сюда процитировать это самое задание и дать как можно больше информации. У делегата есть прикреплённое свойство index, которое можно использовать. Также в делегате доступны свойства элемента модели. У самого ListView есть свойство currentIndex, которое отображает текущий выбранный index. Можно в нём сделать дублирующее свойство, которое будет отображать нужную информацию.
0
|
0 / 0 / 0
Регистрация: 09.07.2014
Сообщений: 11
|
|
18.04.2016, 13:19 [ТС] | 9 |
Вот, изображение до клика и после
0
|
18.04.2016, 19:00 | 10 |
Создай ListModel. Подвяжи на неё правый ListView. В эту ListModel будешь заносить или удалять оттуда отмеченные индексы из левого ListView. В делегате правого ListModel реализуй, чтобы по хранимому в ListModel на данной позиции индексу загружались данные из оригинальной модели.
0
|
19.04.2016, 07:18 | 11 |
Wyn, проще.
Riu, цепляйся к QListView::currentChanged(QModelIndex,QModelIndex) , получай из QModelIndex::data нужные тебе данные, затем во втором QListView ищи нужный тебе индекс по этим данным, затем запихивай его в QListView::selectionModel->select() и радуйся жизни.
0
|
0 / 0 / 0
Регистрация: 09.07.2014
Сообщений: 11
|
|
19.04.2016, 11:01 [ТС] | 14 |
Да и над этим я думал, только вот мне еще нужно использовать в моей так сказать "ProxyModel"(это класс описывающий структуру данных находящихся справа), такую штуку как Q_PROPERTY(EmployeeListModel* name READ GetSource WRITE SetSource NOTIFY Source )
0
|
19.04.2016, 11:09 | 15 |
Может всё-таки ProxyModel описывает структуру данных слева? Потому что в противном случае я не понимаю, что за извращения, и самое главное - зачем, ты пытаешься сделать.
P.S. Я вот сейчас смотрю на всю переписку, что выше, и не понимаю - чего я вообще здесь время теряю, пытаясь тебе что-то подсказать, когда ты не можешь тут даже тупо выдать все необходимые для решения задачи данные. Выкладывай вообще все данные, которые у тебя по задаче имеются. При том в том виде, в котором они выданы тебе, а не в пересказе.
0
|
0 / 0 / 0
Регистрация: 09.07.2014
Сообщений: 11
|
|
19.04.2016, 11:47 [ТС] | 16 |
Нету никаких письменных указаний, всё устно и я тоже не могу в этом разобраться, с удовольствием показал, даже возможно если бы было всё предельно понятно в задании я бы и не обращался, а тут вот так. Еще раз, может у тебя мысли новые появятся: У меня 2 класса EmpolyListModel и ProxyModel, по внутренему строению они идентичны, кроме того, что в ProxyModel есть Q_PROPERTY(EmployeeListModel* name READ GetSource WRITE SetSource NOTIFY Source ). И как я понял(это возможно и не верно) мне нужно вызывать некое изменение в моём ListView(изменение цвета элемента) и тем самым должен вызываться метод select()(Как мне объяснил тот кто дал задание, этот метод вызывается при изменении), который я так и не нашел где он вообще описан, хотя перерыл все доки. И далее с помощью этого QPROPERTY собственно получать данные из EmployeeListModel. Вообщем если даже ты понять не можешь пора мне бросать это дело...и закрывать тему
0
|
19.04.2016, 11:59 | 17 |
Ну если так, то чем тут тебе могут помочь. Это получается как в сказке "пойти, не знаю куда, и найти то, не знаю что."
Ты выше спросил как визуально реализовать нужное тебе поведение - я тебе сказал. Но если при этом нужно соблюсти какие-то условия и нюансы, которые ты сам не понимаешь и рассказать про которые внятно не можешь, то тут тебе ничем не помогут, экстрасенсы тут сейчас отсутствуют - все заняты на Первом Канале. =)
0
|
19.04.2016, 11:59 | |
19.04.2016, 11:59 | |
Помогаю со студенческими работами здесь
17
Использование AxWindowsMediaPlayer для отображения позиции трека Использование BackgroundWorker в WPF для отображения прогресса загрузки БД Использование ProgressBar для отображения времени проигрывания файла MediaPlayer Использование DataBinding для изменения содержимого ListView Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |