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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Вывод нескольких колонок из модели в QComboBox  (Прочитано 3946 раз)
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« : Январь 09, 2014, 17:29 »

Подскажите плиз, можно ли каким то образом (кроме изобретения велосипеда и костылей) отображать в комбобоксе несколько колонок из модели?
Сейчас отображается только один, нашел метод setModelColumn, который задает какую колонку выводить. В модели есть несколько колонок, id, name, и прочее.
Нужно вывести в комбобоксе как id[проблел]name
Эта же модель используется в QTableView. Поэтому выводить id:name строкой не катит.
Или тупо делать костыли? Грустный
Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #1 : Январь 09, 2014, 17:41 »

Может?
Код
C++ (Qt)
void QComboBox::setView ( QAbstractItemView * itemView )
 
Записан

Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #2 : Январь 09, 2014, 17:47 »

Да уже нашёл, спасибо. Частично проблему решает с отображением и выбором. Но вот беда, после того как кобобокс закрывается, в текущем тексте отображается только значение с одной колонки модели. Переписать текст с помощью
Код:
void EditAlertDialog::on_objectBox_currentIndexChanged(int index)
{
    frailObject = objectBox->itemData(index,CRailObjectListModel::RailObjectRole).value<CRailObject*>();
    if(frailObject)
    {
        objectBox->setCurrentText(QString("%1 : %2").arg(frailObject->objectId()).arg(frailObject->objectName()));
    }
    else
    {
        objectBox->setCurrentText(trUtf8("Не выбран"));
    }
}
не дало никакого эффекта, но оно и понятно.
Записан
Serr500
Гость
« Ответ #3 : Январь 09, 2014, 21:13 »

Тут, я полагаю, выход один - переписать комбо-бокс.
Записан
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #4 : Январь 14, 2014, 11:31 »

Спасибо, может так и придется делать.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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