Название: События FocusIn/FocusOut применительно к QComboBox Отправлено: andi от Февраль 15, 2007, 10:04 Есть такая проблема (пока не забыл Qt3.3.6).
На форме лежит пара QLineEdit и один QComboBox В конструкторе формы завожу фильтр событий: Код:
и обработчик: Код:
Так вот, когда мышкой на форме тыкаешься в эти виджеты, выпрыгивают соответствующие надписи. Кто фокус получил, кто фокус потерял. При этом LineEdit исправно эти сигналы отправляет, а подлый ComboBox ни в какую. Хотя другие события (типа нажатия кнопок, раскрытие списка и прочее) отрабатывается нормально. В чем может быть загвоздка? Название: События FocusIn/FocusOut применительно к QComboBox Отправлено: Steven_Orko от Февраль 18, 2007, 22:34 У комбобокса есть такой штук:
QLineEdit * QComboBox::lineEdit () const Returns the line edit, or 0 if there is no line edit. Only editable listboxes have a line editor. Попробуй работать с указателем возвращаемого виджета... Название: События FocusIn/FocusOut применительно к QComboBox Отправлено: andi от Февраль 19, 2007, 10:35 Чего-то я не понял, к чему это ответ.
Это мне придется держать указатель на QLineEdit и с ним постоянно сравнивать? А при смене строки обновлять этот указатель? Что-то мне подсказывает, что это костыль. В своей реализации вывернулся так. Комбобокс у меня один, а лайнедитов 2. То при потере ими фокуса, я сразу считаю ,что фокус у комбобокса. А если кто-то из них получает фокус, этот фокус и запоминаю. Если комбобоксов будет больше то это не сработает. |