Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: spectre71 от Июнь 20, 2009, 14:10



Название: QComboBox - Disabled Item
Отправлено: spectre71 от Июнь 20, 2009, 14:10
Можно ли без установки своей модели в QComboBox сделать отдельные элементы его списка неактивными, не должны выбираться никаким способом.
Если можно, то как?
Фонт, к примеру, поменять можно (setItemData(Index, QVariant(Font), Qt::FontRole);)


Название: Re: QComboBox - Disabled Item
Отправлено: niXman от Июнь 20, 2009, 22:15
Вот: http://qtwiki.org/QCombobox_header_item
Работает! Проверил!


Название: Re: QComboBox - Disabled Item
Отправлено: spectre71 от Июнь 20, 2009, 22:19
Вот: http://qtwiki.org/QCombobox_header_item
Работает! Проверил!
Спасибо, но меня интересовало возможно ли без установки свей модели.


Название: Re: QComboBox - Disabled Item
Отправлено: niXman от Июнь 21, 2009, 04:11
Нет!


Название: Re: QComboBox - Disabled Item
Отправлено: SABROG от Июнь 23, 2009, 08:32
Если совесть не замучает можно использовать хак:

Код
C++ (Qt)
   QStandardItemModel *model = qobject_cast<QStandardItemModel *>(ui->comboBox->model());
   QStandardItem *item = model->item(1,0);
   Qt::ItemFlags itemFlags = item->flags();
   itemFlags &= ~Qt::ItemIsSelectable;
   itemFlags &= ~Qt::ItemIsEnabled;
   item->setFlags(itemFlags);
 


Название: Re: QComboBox - Disabled Item
Отправлено: spectre71 от Июнь 23, 2009, 10:18
Спасибо, для теста подойдет, а модель напишу позже.