Название: [РЕШЕНО] Выделение элемента в QCombobox с QTreeView в качестве представления Отправлено: AlekseyK от Январь 23, 2011, 22:11 Использую QStandardItemModel в качестве модели (setModel), а QTreeView в качестве представления (setView) для QCombobox. Каждому элементу комбобокса QStandardItem* item назначаю идентификатор через
Код В общем задача перебрать все элементы, найти и сделать текущим элемент с определённым id_ext == item->data(id). Что-то запутался в 3-х соснах. Прочитал QComboBox и его view (http://www.prog.org.ru/index.php?topic=15707.msg104129#msg104129) и другие темы, но пока не разобрался как реализовать. Обратное преобразование, получить data() == id, текущего комбобокса делаю так: Код
Название: Re: Выделение элемента в QCombobox с QTreeView в качестве пред& Отправлено: AlekseyK от Январь 24, 2011, 02:16 Пока сделал так:
Код Работает, элемент корректно находит, и выделяет его корректно в соответствии с советом вышеозначенных товарищей: Код m_pView->setCurrentIndex(childIndex) не работает. Подозреваю, что и обратное преобразование нужно выполнять аналогично - вылетает пока. Причём, что интересно вылетает на том комбобоксе, где текущее значение установлено программно, а там где пользователь выбрал пункт в комбобоксе - возвращает правильный индекс и id. В чём может быть проблема??? Название: Re: Выделение элемента в QCombobox с QTreeView в качестве представления Отправлено: AlekseyK от Январь 24, 2011, 03:41 Ага, понятно: я зря m_pView->setCurrentIndex(childIndex) выкинул, для выделения элемента программно корректно работает только следующая связка:
combobox->setCurrentIndex() + combobox->view()->setCurrentIndex(): Код теперь работает! В принципе решено, однако советы, предложения, замечания, улучшения приветствуются. :) |