Форум программистов, компьютерный форум, киберфорум
C++ Qt
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 09.07.2014
Сообщений: 11
1

Использование ProxyModel для отображения элементов ListView

24.03.2016, 13:11. Показов 1701. Ответов 16
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, не могу ни как разобраться с таким вот вопросом. У меня есть ListView в нем отображаются некоторые данные в rectangle.Дали задание что бы по клику на эти данные они отрисовывались немного ниже. Но я должен использовать ProxyModel входным параметром для которой должен быть мой ListView и свойство select(), которое должно отображать изменение состояния в ListView. Я понять не могу как это сделать. Самое простое это просто сделать MouseArea и по onClick() работать, но надо так как в задании. А, еще у меня не должно быть wigets. Поэтому можно пользоваться только c++ и qml
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.03.2016, 13:11
Ответы с готовыми решениями:

Какова максимальная скорость отображения элементов в ListView
День добрый, а, с какой скоростью (частотой в 1 сек.) можно выводить элементы в контрол...

Использование Tasks для отображения результатов операции
Я совсем с этими тасками запутался. Поэтому объясню проще, чтобы мне подсказали. Есть форма, на ней...

Использование данных из dataGridView для отображения на карте
Есть такая проблема. В Form1 создан gMapControl1private void gMapControl1_Load(object sender,...

Использование DISTINCT для отображения уникальных значений
Здравствуйте. Нужна помощь в формировании запроса к базе данных. Есть combobox, который заполняется...

16
1070 / 652 / 229
Регистрация: 14.01.2016
Сообщений: 2,031
Записей в блоге: 9
25.03.2016, 13:57 2
Цитата Сообщение от Riu Посмотреть сообщение
wigets
Это что такое? Не знаю такого... =)
Цитата Сообщение от Riu Посмотреть сообщение
Дали задание что бы по клику на эти данные они отрисовывались немного ниже.
Это как? На листочке изобрази как примерно должно выглядеть.
Цитата Сообщение от Riu Посмотреть сообщение
Но я должен использовать ProxyModel входным параметром для которой должен быть мой ListView и свойство select(), которое должно отображать изменение состояния в ListView. Я понять не могу как это сделать. Самое простое это просто сделать MouseArea и по onClick() работать, но надо так как в задании.
Вообще, описание у тебя довольно бредовое, подумай как сделать его более логичным.
0
0 / 0 / 0
Регистрация: 09.07.2014
Сообщений: 11
25.03.2016, 14:33  [ТС] 3
1)Без виджетов.
Описание довольно бональное, у меня есть мой класс-контейнер в нем хранятся некие данные, далее я вывожу их на форму с помощью ListView. Далее есть MouseArea по клику по которой должна вызываться функция select(). И еще один класс контейнер должен ловить сигналы от этой функции и выводить данные по которым кликнули.
0
1070 / 652 / 229
Регистрация: 14.01.2016
Сообщений: 2,031
Записей в блоге: 9
26.03.2016, 08:32 4
Цитата Сообщение от Riu Посмотреть сообщение
Описание довольно бональное, у меня есть мой класс-контейнер в нем хранятся некие данные, далее я вывожу их на форму с помощью ListView. Далее есть MouseArea по клику по которой должна вызываться функция select(). И еще один класс контейнер должен ловить сигналы от этой функции и выводить данные по которым кликнули.
Вот именно из-за такого вашего "бонального" описания я и прошу вас _нарисовать_ что вы хотите.
0
0 / 0 / 0
Регистрация: 09.07.2014
Сообщений: 11
26.03.2016, 09:04  [ТС] 5
Вот, кликаем по полю с данными и они отображаются в поле которое расположено ниже.
Миниатюры
Использование ProxyModel для отображения элементов ListView  
0
1070 / 652 / 229
Регистрация: 14.01.2016
Сообщений: 2,031
Записей в блоге: 9
26.03.2016, 09:26 6
Цитата Сообщение от Riu Посмотреть сообщение
Вот, кликаем по полю с данными и они отображаются в поле которое расположено ниже.
То есть у тебя там два ListView? И первый ListView выбирает, какие данные отображать во втором?
Во всяком случае у тебя так нарисовано.

P.S. Я ещё раз говорю: возьми ручку, возьми листочек. Нарисуй подробно как должен выглядеть конечный результат или анимация, которую ты хочешь достичь. Потом сфотографируй/отсканируй этот листочек в достаточном качестве и выложи его сюда.
0
0 / 0 / 0
Регистрация: 09.07.2014
Сообщений: 11
26.03.2016, 13:39  [ТС] 7
Да ты правильно понял.
0
1070 / 652 / 229
Регистрация: 14.01.2016
Сообщений: 2,031
Записей в блоге: 9
26.03.2016, 15:11 8
Цитата Сообщение от Riu Посмотреть сообщение
Да ты правильно понял.
Как организованы данные, к которым идёт обращение?
Что представляют из себя данные главного ListView, а что - дополнительного?
Вообще, неплохо бы сюда процитировать это самое задание и дать как можно больше информации.

У делегата есть прикреплённое свойство index, которое можно использовать. Также в делегате доступны свойства элемента модели.
У самого ListView есть свойство currentIndex, которое отображает текущий выбранный index. Можно в нём сделать дублирующее свойство, которое будет отображать нужную информацию.
0
0 / 0 / 0
Регистрация: 09.07.2014
Сообщений: 11
18.04.2016, 13:19  [ТС] 9
Вот, изображение до клика и после
Миниатюры
Использование ProxyModel для отображения элементов ListView  
0
1070 / 652 / 229
Регистрация: 14.01.2016
Сообщений: 2,031
Записей в блоге: 9
18.04.2016, 19:00 10
Создай ListModel. Подвяжи на неё правый ListView. В эту ListModel будешь заносить или удалять оттуда отмеченные индексы из левого ListView. В делегате правого ListModel реализуй, чтобы по хранимому в ListModel на данной позиции индексу загружались данные из оригинальной модели.
0
487 / 365 / 93
Регистрация: 10.03.2011
Сообщений: 1,513
Записей в блоге: 5
19.04.2016, 07:18 11
Wyn, проще.
Riu, цепляйся к QListView::currentChanged(QModelIndex,QModelIndex), получай из QModelIndex::data нужные тебе данные, затем во втором QListView ищи нужный тебе индекс по этим данным, затем запихивай его в QListView::selectionModel->select() и радуйся жизни.
0
1070 / 652 / 229
Регистрация: 14.01.2016
Сообщений: 2,031
Записей в блоге: 9
19.04.2016, 07:32 12
Цитата Сообщение от icpu Посмотреть сообщение
цепляйся к QListView::currentChanged(QModelIndex,QModelIndex), получай из QModelIndex::data нужные тебе данные, затем во втором QListView ищи нужный тебе индекс по этим данным, затем запихивай его в QListView::selectionModel->select() и радуйся жизни.
Речь про QML.
0
487 / 365 / 93
Регистрация: 10.03.2011
Сообщений: 1,513
Записей в блоге: 5
19.04.2016, 07:50 13
Wyn, извини, был не прав.
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
1070 / 652 / 229
Регистрация: 14.01.2016
Сообщений: 2,031
Записей в блоге: 9
19.04.2016, 11:09 15
Цитата Сообщение от Riu Посмотреть сообщение
Да и над этим я думал, только вот мне еще нужно использовать в моей так сказать "ProxyModel"(это класс описывающий структуру данных находящихся справа), такую штуку как Q_PROPERTY(EmployeeListModel* name READ GetSource WRITE SetSource NOTIFY Source )
Может всё-таки 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
1070 / 652 / 229
Регистрация: 14.01.2016
Сообщений: 2,031
Записей в блоге: 9
19.04.2016, 11:59 17
Цитата Сообщение от Riu Посмотреть сообщение
я тоже не могу в этом разобраться
Ну если так, то чем тут тебе могут помочь. Это получается как в сказке "пойти, не знаю куда, и найти то, не знаю что."
Ты выше спросил как визуально реализовать нужное тебе поведение - я тебе сказал. Но если при этом нужно соблюсти какие-то условия и нюансы, которые ты сам не понимаешь и рассказать про которые внятно не можешь, то тут тебе ничем не помогут, экстрасенсы тут сейчас отсутствуют - все заняты на Первом Канале. =)
0
19.04.2016, 11:59
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.04.2016, 11:59
Помогаю со студенческими работами здесь

Использование AxWindowsMediaPlayer для отображения позиции трека
Как используя AxWindowsMediaPlayer вывести время проигрывание в label?

Использование BackgroundWorker в WPF для отображения прогресса загрузки БД
Допустим, есть какой-то UserControl, в который надо вывести таблицу из БД. В том же UserControl`е...

Использование ProgressBar для отображения времени проигрывания файла MediaPlayer
У меня вопрос, как можно задействовать элемент управления progressBar для отображения времени...

Использование DataBinding для изменения содержимого ListView
Добрый день! Созданный в WPF компонент, отображающий содержимое моего класса-наследника...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru