Russian Qt Forum
Сентябрь 22, 2024, 01:52 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QComboBox как вставить элемент с дополнительным UserRole?  (Прочитано 4279 раз)
PavelVX
Гость
« : Декабрь 12, 2011, 11:57 »

Есть QComboBox, вставляю в него элементы addItem(Text, UserData). Но понадобилось еще доп  параметр впихнуть.
Как это сделать, типа Qt::UserRole+1.
combo->addItem(Text, Qt::UserRole, Qt::UserRole+1)?
Подсунуть модель и там творить что хотим нельзя Грустный
Записан
madRoger
Гость
« Ответ #1 : Декабрь 12, 2011, 12:07 »

посмотри на  void QComboBox::setItemData (int index,const QVariant & value,int role = Qt::UserRole)
Записан
PavelVX
Гость
« Ответ #2 : Декабрь 12, 2011, 12:44 »

А можно как-то перед вставкой item в комбобокс, поустанавливать у этого айтема нужные мне роли? Что-то я не догоняю, как это делать.
Если я правильно понимаю, то void QComboBox::setItemData (int index,const QVariant & value,int role = Qt::UserRole) - мне придется второй раз проходить по всему списку итемов, что неправильно. Правильнее задать все нужные атрибуты и потом впихнуть итем в комбобокс.
Записан
Странник
Гость
« Ответ #3 : Декабрь 12, 2011, 12:53 »

А можно как-то перед вставкой item в комбобокс, поустанавливать у этого айтема нужные мне роли? Что-то я не догоняю, как это делать.
Если я правильно понимаю, то void QComboBox::setItemData (int index,const QVariant & value,int role = Qt::UserRole) - мне придется второй раз проходить по всему списку итемов, что неправильно. Правильнее задать все нужные атрибуты и потом впихнуть итем в комбобокс.
без модели других вариантов нет.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.052 секунд. Запросов: 21.