Как исключить виджет из списка табуляции?

введите здесь описание изображения

(Эта картинка взята с официального сайта Qt, и я беру ее в качестве примера.)

Я бы хотел, чтобы некоторые неважные виджеты не отображались на вкладке.

(Эта стратегия полезна, если у вас есть виджет, который вы хотите быстро переключать между некоторыми часто используемыми QLineEdit для ввода данных и выхода из этих редко используемых настроек.)

Возьмите изображение в качестве примера, возможно ли исключить Width и Height из списка порядка вкладок, чтобы я мог использовать Tab для поворота только между Name, Color depth, OK и Cancel? Я просмотрел документ и не нашел возможности удалить виджеты из списка табуляции.


person Tay2510    schedule 30.05.2014    source источник
comment
Вы можете отключить элементы, если не хотите, чтобы они были в фокусе. Это то, что вам нужно?   -  person Ilya    schedule 30.05.2014
comment
Я все еще хочу использовать их. Ответ Thuga — это то, что я хочу: я могу установить для этих неважных виджетов значение Qt::ClickFocus, и они будут исключены из моего списка упорядочения вкладок, в то время как я все еще могу использовать их, щелкая по ним.   -  person Tay2510    schedule 30.05.2014


Ответы (1)


Измените политику фокуса ваших виджетов, которые вам не нужны на вкладке. список заказов.

Политика — Qt::TabFocus, если виджет принимает фокус клавиатуры с помощью табуляции.

Вам нужно будет установить его на Qt::ClickFocus или Qt::NoFocus, чтобы удалить его из списка порядка табуляции.

Посмотрите, что делают различные политики фокуса здесь.

person thuga    schedule 30.05.2014
comment
Это работает очень хорошо, очень ценю! Кстати, установка Qt::NoFocus на QLineEdit кажется эквивалентной отключению. - person Tay2510; 30.05.2014
comment
@ Tay2510 Да, виджет с Qt::NoFocus, установленным в качестве политики фокуса, вообще не будет принимать фокус клавиатуры. - person thuga; 30.05.2014