Russian Qt Forum
Ноябрь 05, 2024, 22:06
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
Непонятки с фокусом
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Непонятки с фокусом (Прочитано 3002 раз)
trot
Гость
Непонятки с фокусом
«
:
Апрель 24, 2012, 14:43 »
Здравствуйте.
Создаю своего делегата, наподобии элемента ввода текста в поисковиках. Т.е. когда идет набор текста в поле ввода, то под этим полем выпадает список-подсказка.
Элемент создается на примере QComboBox. Выпадающий список создан на фрейме с типом окна Qt::Popup (все как у combobox).
Проблема заключается в том, что когда вводится первый символ в LineEdit, вываливается список и все, на этом ввод блокируется. Т.е. курсор стоит в LineEdit, но он не мигает. На нажатие клавиш нет никакой реакции. Проверил где стоит фокус. Фокус установлен на LineEdit, но текст почему-то не заводится. И только когда кликаешь в LineEdit курсор начинает мигать и можно заводить текст, но при этом скрывается окно со списком-подсказки. Помогите разобраться. Спасибо.
Записан
GreatSnake
Джедай : наставник для всех
Offline
Сообщений: 2921
Re: Непонятки с фокусом
«
Ответ #1 :
Апрель 24, 2012, 14:47 »
Цитата: assistant
Qt::Popup 0x00000008 | Window Indicates that the widget is a pop-up top-level window, i.e. that it is
modal
, but has a window system frame appropriate for pop-up menus.
Записан
Qt 5.11/4.8.7 (X11/Win)
trot
Гость
Re: Непонятки с фокусом
«
Ответ #2 :
Апрель 24, 2012, 15:00 »
Я так понимаю, что надо отказываатся от Popup и использовать другой тип окна.
Записан
UNION labs
Гость
Re: Непонятки с фокусом
«
Ответ #3 :
Апрель 24, 2012, 15:34 »
Прежде чем дальше изобретать можно посмотреть в сторону такого виджета как QCompleter
Записан
trot
Гость
Re: Непонятки с фокусом
«
Ответ #4 :
Апрель 24, 2012, 15:43 »
Да я обратил внимание на этот класс.
Во-первых это не виджет.
Во-вторых я не знаю как добиться того, что бы при вводе текста в lineedit раскрывался спискок, где есть несколько похожих вариантов.
QCompleter предлагает один вариант путем дописывания набранного текста. А я хочу повторить элемент ввода текста, например как в Yandex.
Если это можно сделать с помощью QCompleter, то подскажите куда рыть.
Записан
UNION labs
Гость
Re: Непонятки с фокусом
«
Ответ #5 :
Апрель 24, 2012, 15:59 »
Да, ошибся, действительно не виджет, но он умеет делать, то что вам надо, ройте вот сюда
Цитировать
void setCompletionMode ( CompletionMode mode )
«
Последнее редактирование: Апрель 24, 2012, 16:41 от dimkanovikov
»
Записан
Страниц: [
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 сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...