Программный цикл по Tab-Order в QT5 - PullRequest
0 голосов
/ 21 июня 2019

У меня есть приложение QT5, в котором я должен имитировать нажатие клавиши табуляции на внешнем событии, т.е. мне нужно циклически перемещаться по списку табло и setFocus на следующем элементе.

Я не могу найти какой-либо способ получить список порядка табуляции программно.Каков наилучший способ сделать это?

1 Ответ

1 голос
/ 21 июня 2019

Как насчет комбинации QWidget:: nextInFocusChain () / previousInFocusChain () и setFocus () или setFocus () слот?(Существуют и другие способы настройки фокуса, все они сшиты в документах Qt.)

nextInFocusChain() и previousInFocusChain() предоставляют доступ к общедоступному API нижележащим частным членамкоторые, кажется, контролируют порядок табуляции.Например, вы можете использовать их в QWidget :: setTabOrder () .

Текущий виджет фокусировки можно найти с помощью QWidget :: focusWidget () изродительский виджет или QApplication :: focusWidget () .Обратите внимание, что QWidget::focusWidget() также вернет первый виджет в порядке фокусировки, если ни один в данный момент не имеет фокуса.Эту отправную точку можно использовать для построения списка виджетов в порядке табуляции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...