crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> QComboBox & model/view, Скрывание строки
hoRUS
  опции профиля:
сообщение 17.5.2009, 18:19
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 30
Регистрация: 10.7.2008
Из: Москва
Пользователь №: 231

Спасибо сказали: 5 раз(а)




Репутация:   0  


Приветствую!
Как в QComboBox скрыть некоторые строки, если он настроен отображать содержимое некоторой модели с помощью QComboBox::setModel(), не прибегая к прокси-моделям ?

Я пытался сделать примерно так:

myComboBox = new QComboBox(this);
myComboBox  -> setModel(myModel);

QListView* myComboBoxListView = new QListView(this);
myComboBoxListView -> setModel(myModel);
myComboBox  -> setView(myComboBoxListView);
...
for(int i = 0; i < myComboBox -> count(); i++)
{
     if(<некое условие>)
     {
            qobject_cast<QListView*>(myComboBox -> view()) -> setRowHidden(i, true);
     }
}


Но не получил никакого эффекта. Если я исключаю строчку
myComboBox  -> setModel(myModel);

(надеясь, что модель установится вместе с видом myComboBoxListView, у которого уже установлена модель в строчке
myComboBoxListView -> setModel(myModel);

), то вообще ничего не работает. Отсюда еще один вопрос: зачем в комбобоксе есть и setModel(), и setView()? Нет ли тут избыточности? Почему нельзя установить модель на новый создаваемый вид, а этот новый вид в свою очередь установить в комбобоксе? Все как-то запутанно с комбобоксом :wacko: .

И все-таки, можно скрыть строчку, не используя промежуточные модели?
Спасибо.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 13.12.2024, 10:16