![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
flankerr |
![]() ![]()
Сообщение
#1
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: ![]() ![]() ![]() |
Мне надо чтобы когда диалог теряет фокус (т.е. заголовок диалога становиться серым) отрабатывала некая функция. Нашлась focusOutEvent
однако эта функция вызывается даже в том случае если фокус отали дочернему элементу на диалоге.. Как отловить ситуацию именно поетри фокуса а не превода фокуса на дочерние элементы ??? |
|
|
Litkevich Yuriy |
![]()
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
посмотри в сторону enum Qt::FocusReason может оно.
|
|
|
trdm |
![]()
Сообщение
#3
|
Дмитрий Трошин ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 575 Регистрация: 12.1.2008 Пользователь №: 68 Спасибо сказали: 21 раз(а) Репутация: ![]() ![]() ![]() |
зря вы там вот так написали:
скури внимательнее: http://doc.trolltech.com/4.3/qfocusevent.html |
|
|
flankerr |
![]()
Сообщение
#4
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: ![]() ![]() ![]() |
чего то не понимаю я как это сделать....
а рабочего примера ни где найти не получается... |
|
|
Litkevich Yuriy |
![]()
Сообщение
#5
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
flankerr, ну пиши, что сделал (исходник не забудь) и как себя ведет.
|
|
|
flankerr |
![]()
Сообщение
#6
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: ![]() ![]() ![]() |
наслудую класс от Ui
в конструторе ставлю setFocus(); переопределяю focusOutEvent(QFocusEvent *e) а дальше при потери фокуса с диалога срабатывает focusOutEvent и всё бы хорошо но только плин он так же срабатывает и на потрерю фокуса с любого дочернего элемента или установки фокуса на любой дочерний элемент что делать с Qt::FocusReason я так и не понял |
|
|
Litkevich Yuriy |
![]()
Сообщение
#7
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
flankerr, а пост trdm'а, ты не читал?
откуда такая фукция: focusOutEvent(QFocusEvent *e)? вот какая функция должна быть: QFocusEvent ( Type type, Qt::FocusReason reason = Qt::OtherFocusReason ) и поумолчанию АзерРесон, т.е. любой. а если посмотреть возможные значения Qt::FocusReason, то можно там увидеть такой вариант: Qt::ActiveWindowFocusReason 3 The window system made this window either active or inactive. я думаю это то, что тебе надо. |
|
|
flankerr |
![]()
Сообщение
#8
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 356 Регистрация: 9.1.2008 Пользователь №: 65 Спасибо сказали: 2 раз(а) Репутация: ![]() ![]() ![]() |
читал пост trdm'а но я не понимаю как это использовать.
залаез в асситант увидел focusOutEvent(QFocusEvent *e) попробывал действитеьлно вызывается а QFocusEvent это же класс а не функция и про Qt::ActiveWindowFocusReason я читал но как это всё связать я не понмиаю ![]() в MSDN какой никакой а примерчик найти можно а ттут типа есть такая фенка и всё а как ей пользовать а хз... |
|
|
Гость_Гость_* |
![]()
Сообщение
#9
|
Гости ![]() |
Тебе нужно выполнить функцию - когда юзер другое приложение активирует или когда в твоем приложение просто другое окно выбирает ?
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#10
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 18.6.2025, 13:09 |