Russian Qt Forum
Сентябрь 30, 2024, 22:24 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Фокус при активации окна [решено]  (Прочитано 6316 раз)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« : Апрель 05, 2014, 17:25 »

Добрый день

Как реализовать такое поведение, пример

В окне неск QLineEdit'ов (или еще чего что может иметь фокус). Открыли окно - ни один из edit'ов еще не получает фокуса. Переключились на др окно и обратно - тоже нет фокуса. Но если юзер выбрал edit - он принимает фокус и восстанавливает при переключении (все как обычно). Если окно сбросило фокус (напр при клике в пустое место) - опять он "не появляется самостоятельно"

Спасибо
« Последнее редактирование: Апрель 06, 2014, 11:05 от Igors » Записан
VPS
Гость
« Ответ #1 : Апрель 06, 2014, 00:06 »

Если я правильно понял, то можно как-то так.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #2 : Апрель 06, 2014, 07:54 »

Если я правильно понял, то можно как-то так.
Поняли правильно, спасибо за тест. К сожалению фокус все-таки успевает проскочить до сброса (видно мигание). И как-то дорого выходит - фильтры назначить, переменную создавать. Понимаю что критиковать легче чем делать  Улыбающийся
Записан
VPS
Гость
« Ответ #3 : Апрель 06, 2014, 10:52 »

Переработал вариант (убрал фильтр и переменную). У меня вроде работает.

П.С.: надо вовремя отдыхать, а то чего-то сложно изначально получилось.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #4 : Апрель 06, 2014, 11:04 »

Во как просто! (когда показали  Улыбающийся). У меня тоже работает

Спасибо
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #5 : Апрель 06, 2014, 11:41 »

И какое поведение будет при нажатии на [Tab]?
Записан

Qt 5.11/4.8.7 (X11/Win)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #6 : Апрель 06, 2014, 13:43 »

И какое поведение будет при нажатии на [Tab]?
Все норм, проверял
Записан
_OLEGator_
Гость
« Ответ #7 : Апрель 06, 2014, 14:27 »

Можно установить главному окну:
Код
C++ (Qt)
void setFocusPolicy(Qt::ClickFocus)
Вроде работает как надо без дополнительных костылей.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #8 : Апрель 06, 2014, 15:04 »

Можно установить главному окну:
Код
C++ (Qt)
void setFocusPolicy(Qt::ClickFocus)
Вроде работает как надо без дополнительных костылей.
Да, так еще лучше, только надо сделать setFocus в момент show иначе ставит на edit
Записан
_OLEGator_
Гость
« Ответ #9 : Апрель 06, 2014, 15:13 »

А в конструкторе установка setFocus в самом конце не прокатывает?
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #10 : Апрель 06, 2014, 16:19 »

А в конструкторе установка setFocus в самом конце не прокатывает?
Проходит (во всяком случае на тестовом примере). Спасибо
Записан
panAlexey
Гипер активный житель
*****
Offline Offline

Сообщений: 864

Акцио ЗАРПЛАТА!!!!! :(


Просмотр профиля
« Ответ #11 : Апрель 07, 2014, 11:59 »

Была такая проблема в MDI приложении.
Записан

Win Xp SP-2, Qt4.3.4/MinGW. http://trdm.1gb.ru/
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.083 секунд. Запросов: 23.