на форме лежит два виджета - QLineEdit и QPushButton.
тыкаем в QLineEdit, чего-нибудь пишем и нажимаем enter - срабатывает QPushButton, что мне совсем не нужно.
при этом если собрать под винду и запустить (со стандартным виндовым голубеньким стилем), то видно что вокруг баттона такая жёлтенькая окантовка.. при этом фокус находится на QLineEdit - курсор мигает, текст редактируется.
если у QPushButton focusPolicy прописать в Qt::NoFocus то проблема решается, при нажатии enter'а в QLineEdit ничего не происходит. но хотелось бы решить проблему так, чтобы сохранить возможность tab'ом попасть на QPushButton.
что можете посоветовать?
Qt, проблема с фокусом QPushButton
Модератор: Модераторы разделов
-
oav
- Бывший модератор
- Сообщения: 296
Re: Qt, проблема с фокусом QPushButton
Твоя проблема (которая вовсе даже не такова) называется Default Button
Read the following manual:
Read the following manual:
Default button
A dialog's default button is the button that's pressed when the user presses Enter (Return). This button is used to signify that the user accepts the dialog's settings and wants to close the dialog. Use QPushButton::setDefault(), QPushButton::isDefault() and QPushButton::autoDefault() to set and control the dialog's default button.
-
stigger
- Сообщения: 154
- ОС: CentOS 5.4
Re: Qt, проблема с фокусом QPushButton
уф..огромное спасибо!
я когда у знакомых спрашивал описывал это явление как "предрасположенность к фокусировке" =)
не знал про такую штуку...
я когда у знакомых спрашивал описывал это явление как "предрасположенность к фокусировке" =)
не знал про такую штуку...
-
messer
- Сообщения: 98
- ОС: линугз
Re: Qt, проблема с фокусом QPushButton
фокус можно установить при помощи button->setFocus();
Gentoo 2006.0
"Когда я вижу что-либо смешное , я весь просто трясусь от смеха. Поэтому всегда хожу небритый.")))
"Когда я вижу что-либо смешное , я весь просто трясусь от смеха. Поэтому всегда хожу небритый.")))
-
stigger
- Сообщения: 154
- ОС: CentOS 5.4
Re: Qt, проблема с фокусом QPushButton
э..ну мне не нужно было ставить фокус..