Название: QComboBox, настройка popup'а и фильтрующая модель как альтернатива QCompleter Отправлено: Flass от Май 08, 2013, 07:22 Все началось с того что меня не радовал стандартный комплитер, так как он не умеет искать не с начала слова, не умеет отлавливать по нескольким вхождениям в строку, и наконец, если я не ошибаюсь, не может отобразить в popup'е QTreeView. Поэтому принял решение использовать редактируемый комбик, положить в него фильтрующую модель, научить ее всяким разным штукам, и в слот её передавать текст из комбика по сигналу редактирования. В этой части все получилось. Проблемы в другом - мне не удается настроить поведение popup'а корректным образом.
1. Фокус при вываливании попапа переходит на него и я не могу вводить в комбик дальнейшие значения. 2. Когда попап вываливается, то он закрывает собой редактируемый комбик (по крайней мере в linux). С последней проблемой я справился, унаследовався от комбика и переопределив метод showPopup, но может быть есть решение получше? (Если вы имеете в виду применение соответствующего стиля, то приведите пример как его можно накатить на этот комбик, учитывая что сам он является делегатом для таблички) upd0: Да, и оказыватеся мой способ решения второй проблемы не совсем хорошо работает, так что этот костыль не считается ) upd1: Вторая проблема решается очень просто: Код: QString styleSheet = "QComboBox { combobox-popup: 0 }"; Название: Re: QComboBox, настройка popup'а и фильтрующая модель как альтернатива QCompleter Отправлено: xokc от Май 08, 2013, 08:44 Пытался тоже в своё время сделать что-то похожее, но под Windows - получил те же проблемы с фокусом, долго ковырялся, но так на пол пути и бросил.
Название: Re: QComboBox, настройка popup'а и фильтрующая модель как альтернатива QCompleter Отправлено: Flass от Май 08, 2013, 09:08 Возможно вы нашли альтернативное решение? Хм.. осмелюсь даже попросить исходник, если есть) Я уже думаю написать отдельный компонент из комбинации QLineEdit и всплывающего при редактировании lineEdita виджета, в котором будет лежать вьюха.. но, слабо понимаю что там нужно будет сделать в деталях, и все еще надеюсь найти менее геморройный способ. ;)
Название: Re: QComboBox, настройка popup'а и фильтрующая модель как альтернатива QCompleter Отправлено: Flass от Май 14, 2013, 07:31 Ну что, товарищи бойцы, никто не одолел окаянного комбика, своевольного и глупого?
Название: Re: QComboBox, настройка popup'а и фильтрующая модель как альтернатива QCompleter Отправлено: xokc от Май 14, 2013, 19:49 Возможно вы нашли альтернативное решение? Хм.. осмелюсь даже попросить исходник, если есть) Нашёл - отложить до "лучших времен", а пока смириться с обычным QComboBox. Дело было довольно давно - код уже утрачен.Название: Re: QComboBox, настройка popup'а и фильтрующая модель как альтернатива QCompleter Отправлено: Flass от Май 15, 2013, 11:29 Печально. Меня в принципе почти устроил комплитер, которому я по текстчендж подсовываю мою фильтрующую модель и заставляю вываливаться. Если бы не одно но. Он, собака такая, не умеет отрисовывать деревья.
Тоесть в QCompleter::setPopup запихнуть вьюху с табличкой можно, она даже будет вполне ничего себе, с чеками даже, и чекабельная даже, а вот деревянную модель показывает только в виде корневых неразвернутых итемов. Да еще и дико тормозит, вплоть до сваливания. |