Russian Qt Forum
Ноябрь 26, 2024, 03:50
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
большой QCompleter
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: большой QCompleter (Прочитано 7324 раз)
Amouse
Гость
большой QCompleter
«
:
Май 06, 2008, 18:00 »
Если в процессе набора строки, кол-во строк "автозаполнения" в QCompleter получается большим (несколько сот)
и не слишком быстрым в формировании - появляется необходимость заполнять QCompleter частично, теми строками, что уже найдены. И соответственно, QCompleter должен иметь скроллирование, по которому ищутся и заполняются очередные строки.
Соственно, как это сделать? Я даже что-нибудь вроде OnScroll в комплитере не вижу.
Записан
Amouse
Гость
Re: большой QCompleter
«
Ответ #1 :
Май 08, 2008, 11:44 »
А как-нибудь можно completer вынести в другой поток?
Записан
pastor
Administrator
Джедай : наставник для всех
Offline
Сообщений: 2901
Re: большой QCompleter
«
Ответ #2 :
Май 08, 2008, 11:48 »
Цитата: Amouse от Май 08, 2008, 11:44
А как-нибудь можно completer вынести в другой поток?
Это не GUI класс, так что можно вынести в отдельный поток. Только непонятно зачем и как при этом будет происходить с ним работа?
«
Последнее редактирование: Май 08, 2008, 11:50 от pastor
»
Записан
Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Вячеслав
Гость
Re: большой QCompleter
«
Ответ #3 :
Май 08, 2008, 14:16 »
Ну подцепи к нему модель и рули ей как хош
точнее связку прокси + модель данных .
Прокси нужен чтоб фильтровать только нужные хвосты( я в модель данных добавлял поле - видимая строка или нет ) .
Записан
Amouse
Гость
Re: большой QCompleter
«
Ответ #4 :
Май 08, 2008, 17:10 »
Цитата: pastor от Май 08, 2008, 11:48
Это не GUI класс, так что можно вынести в отдельный поток. Только непонятно зачем и как при этом будет происходить с ним работа?
так в том-то и дело, Completer прикручивается к QComboBox, который GUI. И что тогда выносить в поток, и как оно будет работать?
А зачем - чтобы программа не висла на несколько секунд (или больше) когда Completer шарится по диску читая файлы и формируя свою структуру, которая может быть и больше 1000 строк.
Записан
Amouse
Гость
Re: большой QCompleter
«
Ответ #5 :
Май 08, 2008, 17:11 »
Цитата: Вячеслав от Май 08, 2008, 14:16
Прокси нужен чтоб фильтровать только нужные хвосты
что за хвосты?
Записан
Amouse
Гость
Re: большой QCompleter
«
Ответ #6 :
Май 08, 2008, 17:14 »
собственно со скролированием - хрен с ним. (первоначальная идея была - подгрузка строк в completer`e по мере скролирования).
Пусть completer формируется сразу весь (скролинг тогда обрабатывать не нужно, но и дефолтный будет нормально работать),
но вот сделать так, чтобы программа не подвисала в процессе набора строки текста (и соотв-но работы completer),
без этого очевидно никак.
Записан
Вячеслав
Гость
Re: большой QCompleter
«
Ответ #7 :
Май 08, 2008, 19:01 »
Цитата: Amouse от Май 08, 2008, 17:11
Цитата: Вячеслав от Май 08, 2008, 14:16
Прокси нужен чтоб фильтровать только нужные хвосты
что за хвосты?
Нужные элементы , которые сейчас должны быть обработаны комплитером
А тормоза-то с чего ? Сформируй 1 раз модель и скармливай ее нужным товарисчам
Записан
Amouse
Гость
Re: большой QCompleter
«
Ответ #8 :
Май 12, 2008, 14:31 »
Цитата: Вячеслав от Май 08, 2008, 19:01
А тормоза-то с чего ?
зашли в каталог, стали набирать имя файла, а каталог большой, пока весь прочли, сформировали новые данные для модели, вот и тормоза.
Записан
Electronix
Гость
Re: большой QCompleter
«
Ответ #9 :
Май 19, 2008, 00:26 »
А эти большие каталоги всегда не определенные ? Ты можешь их хотя бы знать заранее ? И например при запуске программы создовать некий индекс по этим каталогам и работать с ним уже всегда.
Записан
Amouse
Гость
Re: большой QCompleter
«
Ответ #10 :
Июнь 03, 2008, 15:49 »
Судя по описанию setModel(), при установке очередной модели предыдущая делититься. Надо ли это понимать так, что при delete самого QCompleter связанная с ним модель тоже удалиться автоматом?
Во всяком случае в примере Completer, delete для модели нет.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...