QComboBox & model/view, Скрывание строки |
Здравствуйте, гость ( Вход | Регистрация )
QComboBox & model/view, Скрывание строки |
hoRUS |
17.5.2009, 18:19
Сообщение
#1
|
Студент Группа: Участник Сообщений: 30 Регистрация: 10.7.2008 Из: Москва Пользователь №: 231 Спасибо сказали: 5 раз(а) Репутация: 0 |
Приветствую!
Как в QComboBox скрыть некоторые строки, если он настроен отображать содержимое некоторой модели с помощью QComboBox::setModel(), не прибегая к прокси-моделям ? Я пытался сделать примерно так:
Но не получил никакого эффекта. Если я исключаю строчку
(надеясь, что модель установится вместе с видом myComboBoxListView, у которого уже установлена модель в строчке
), то вообще ничего не работает. Отсюда еще один вопрос: зачем в комбобоксе есть и setModel(), и setView()? Нет ли тут избыточности? Почему нельзя установить модель на новый создаваемый вид, а этот новый вид в свою очередь установить в комбобоксе? Все как-то запутанно с комбобоксом . И все-таки, можно скрыть строчку, не используя промежуточные модели? Спасибо. |
|
|
Litkevich Yuriy |
17.5.2009, 18:30
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
И все-таки, можно скрыть строчку, не используя промежуточные модели? дак, вот эти самые модели для этого и предназначены. Какой смысл изобретать свой метод, когда уже есть готовый.зачем в комбобоксе есть и setModel(), и setView()? Нет ли тут избыточности? Зачем установка модели, наверное понятно. Тогда остаётся вопрос зачем установка представления, ответ - представление может быть не списковым. Собственные представления могут применятся, например, при выборе цвета (что-то подобное таблицы с цветными квадратиками).Почему нельзя установить модель на новый создаваемый вид, а этот новый вид в свою очередь установить в комбобоксе? ну, например, потому что можно установить модель непосредственно в QComboBox'е
|
|
|
hoRUS |
17.5.2009, 20:41
Сообщение
#3
|
Студент Группа: Участник Сообщений: 30 Регистрация: 10.7.2008 Из: Москва Пользователь №: 231 Спасибо сказали: 5 раз(а) Репутация: 0 |
Но почему тогда не получается скрыть строки таки образом:
qobject_cast<QListView*>(myComboBox -> view()) -> setRowHidden(i, true); ? |
|
|
Litkevich Yuriy |
17.5.2009, 23:44
Сообщение
#4
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
Текстовая версия | Сейчас: 12.12.2024, 7:56 |