![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
vanvo |
![]()
Сообщение
#11
|
Студент ![]() Группа: Участник Сообщений: 73 Регистрация: 18.8.2008 Пользователь №: 267 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
ЙаМайскЫйПчОЛ, спасибо за предыдущий пост.
А как сделать, чтобы сравнение введенной строки в QComboBox с его содержимым происходило не с 1-го символа, а с каждого. Поясню на примере: при вводе "чик", в QComboBox оставались не только "чик", "чик-чирик", а еще и "мальчик", "танчики". |
|
|
Litkevich Yuriy |
![]()
Сообщение
#12
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
vanvo, тут ключем будет не виджет (QComboBox), а настройки QCompleter.
Посмотри QCompleter::UnfilteredPopupCompletion возможно подойдет, ну и вообще доку по QCompleter почитай. |
|
|
vanvo |
![]()
Сообщение
#13
|
Студент ![]() Группа: Участник Сообщений: 73 Регистрация: 18.8.2008 Пользователь №: 267 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
vanvo, тут ключем будет не виджет (QComboBox), а настройки QCompleter. Посмотри QCompleter::UnfilteredPopupCompletion возможно подойдет, ну и вообще доку по QCompleter почитай. Ну QCompleter::UnfilteredPopupCompletion ничего хорошего не делает... лишь проматывает список до первого совпадения Доку по QCompleter я смотрел, что-то тоже ничего хорошего там не нашел ![]() |
|
|
Litkevich Yuriy |
![]()
Сообщение
#14
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
vanvo |
![]()
Сообщение
#15
|
Студент ![]() Группа: Участник Сообщений: 73 Регистрация: 18.8.2008 Пользователь №: 267 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Мутить что-то типа: comboBoxService->clear(); listService = listService.filter(key); comboBoxService->addItems(listService); key - введенная строка в comboBoxService Еще вопросец: как отследить изменение текста в QComboBox, если мы еще не нажали Enter? |
|
|
Litkevich Yuriy |
![]()
Сообщение
#16
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#17
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
vanvo, я именно по указанному вопросу предлагал сделать новую тему (я ее переименовал)
|
|
|
vanvo |
![]()
Сообщение
#18
|
Студент ![]() Группа: Участник Сообщений: 73 Регистрация: 18.8.2008 Пользователь №: 267 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Сделал вот такую штуку
При наборе букв, содержащихся в list, программа сразу же вылетает. Почему? Если закоментить comboBox->clear();, то программа работает |
|
|
Litkevich Yuriy |
![]()
Сообщение
#19
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
При наборе букв, содержащихся в list, программа сразу же вылетает. Почему? почему при закоментированной отчистке продолжает работать я не знаю.Если закоментить comboBox->clear();, то программа работает А почему аварийно завершается могу сказать, смотри: Цитата void QComboBox::addItems ( const QStringList & texts ) в этой функции принимается ссылка на список, а список у тебя создан как обычная переменная, как только функция завершится, то и удалится эта переменная. Соответственно QComboBox будет обращатся к неправильной области памяти |
|
|
vanvo |
![]()
Сообщение
#20
|
Студент ![]() Группа: Участник Сообщений: 73 Регистрация: 18.8.2008 Пользователь №: 267 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
При наборе букв, содержащихся в list, программа сразу же вылетает. Почему? почему при закоментированной отчистке продолжает работать я не знаю.Если закоментить comboBox->clear();, то программа работает А почему аварийно завершается могу сказать, смотри: Цитата void QComboBox::addItems ( const QStringList & texts ) в этой функции принимается ссылка на список, а список у тебя создан как обычная переменная, как только функция завершится, то и удалится эта переменная. Соответственно QComboBox будет обращатся к неправильной области памяти Нет, дело не в памяти. Я список внутри слота объявил только для форума. А в программе объявление list и result происходит в описании класса. |
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 18.2.2025, 8:55 |