Нахождение нужного элемента в QListView, получение фокуса |
Здравствуйте, гость ( Вход | Регистрация )
Нахождение нужного элемента в QListView, получение фокуса |
AD |
13.11.2008, 17:56
Сообщение
#1
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Вопрос такой: в эдит-поле вводится сериный номер, чуть ниже список серийных номеров, выбранных из БД. Как заставить при введении цифры номера, фокус перемещался на первый найденный элемент. Это общая задача.
Более конкретно: у меня есть имя серийного номера, как зная это имя получить QModelIndex по которому я смогу определить элемент в QListView? Буду благодарен за любую помощь. |
|
|
AD |
14.11.2008, 13:08
Сообщение
#2
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Вроде ведь многие работали с таблицами, с БД, с модель-представление. Неужели никто не сталкивался с подобными задачами? Мне кажется такого рода задачка в первую очередь встанет. По заданному значению параметра найти индекс модели. Помогите, пожалуйста.
|
|
|
Litkevich Yuriy |
14.11.2008, 13:48
Сообщение
#3
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
AD, ищи по форуму, про автоподстановку в комбобоксе, недавно было, механизм тотже
|
|
|
AD |
14.11.2008, 14:09
Сообщение
#4
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Цитата(Litkevich Yuriy) AD, ищи по форуму, про автоподстановку в комбобоксе, недавно было, механизм тотже Искал по этим словам. Не нашел. Дай, пожалуйста, ссылку! Заранее спасибо. |
|
|
AD |
14.11.2008, 15:14
Сообщение
#5
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Блин, я реально не могу найти нужную тему. А мне это очень необходимо!!!
|
|
|
Litkevich Yuriy |
14.11.2008, 15:34
Сообщение
#6
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
AD |
14.11.2008, 15:55
Сообщение
#7
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Не очень-то подходит. QComboBox имеет довольно удобные функции, которых нет в QListView! Потом в данном примере не указывается как фокус на нем установить. В QComboBox просто выбирается заданный элемент, ЕСЛИ НА НЕГО НАЖАТЬ!!!
|
|
|
Litkevich Yuriy |
14.11.2008, 16:51
Сообщение
#8
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
AD, в указанной теме говорилось об автозавершении, т.е. есть комбобокс, внего вводятся символы, а в выподающем списке показывается наиболееблизкое совпадение.
у тебя все тоже самое, только поле в вода и список, список в комбобоксе использует концепцию модель/представление, а для авто завершения QCompleter который всю механнику совпадений и связь с Селекшнмодель берет на себя. Т.о. тебе указан путь к решению задачи, готового кода скорее всего нет. |
|
|
AD |
14.11.2008, 16:53
Сообщение
#9
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
На англоязычном форуме подсказали правильное решение. Данная штука решается с помощью
QModelIndexList QAbstractItemModel::match ( const QModelIndex & start, int role, const QVariant & value, int hits = 1, Qt::MatchFlags flags = Qt::MatchFlags( Qt::MatchStartsWith | Qt::MatchWrap ) ) const [virtual] Вот описание слота, который решает мою проблему:
Сообщение отредактировал AD - 14.11.2008, 16:53 |
|
|
Litkevich Yuriy |
14.11.2008, 17:00
Сообщение
#10
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
AD, что это за слот? как туда попадаешь
|
|
|
Текстовая версия | Сейчас: 3.1.2025, 6:47 |