crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V  < 1 2  
Ответить в данную темуНачать новую тему
> focusOutEvent
Red Devil
  опции профиля:
сообщение 16.9.2008, 16:19
Сообщение #11


Студент
*

Группа: Участник
Сообщений: 68
Регистрация: 6.6.2008
Из: Saint-Petersburg
Пользователь №: 194

Спасибо сказали: 1 раз(а)




Репутация:   3  


дык, это разные события.
Если нужно узнать что окно потеряло фокус, потому что пользователь установил фокус на другое приложение, то это другое событие ловить нужно. Что-то там deactivate.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
flankerr
  опции профиля:
сообщение 22.9.2008, 17:19
Сообщение #12


Активный участник
***

Группа: Участник
Сообщений: 356
Регистрация: 9.1.2008
Пользователь №: 65

Спасибо сказали: 2 раз(а)




Репутация:   0  


Цитата(Red Devil @ 16.9.2008, 17:19) Link
дык, это разные события.Если нужно узнать что окно потеряло фокус, потому что пользователь установил фокус на другое приложение, то это другое событие ловить нужно. Что-то там deactivate.

не на другое приложение а на другое окно в рамках одного приложения - хотя думаю тут разницы особой нет
вот не нашёл я в ассистенсе более подходящего.
конечно есть QEvent::WindowDeactivate но как его словить я не понял пока...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Red Devil
  опции профиля:
сообщение 22.9.2008, 17:33
Сообщение #13


Студент
*

Группа: Участник
Сообщений: 68
Регистрация: 6.6.2008
Из: Saint-Petersburg
Пользователь №: 194

Спасибо сказали: 1 раз(а)




Репутация:   3  


Цитата(flankerr @ 22.9.2008, 18:19) Link
а на другое окно в рамках одного приложения - хотя думаю тут разницы особой нет

есть

Цитата(flankerr @ 22.9.2008, 18:19) Link
конечно есть QEvent::WindowDeactivate но как его словить я не понял пока...

bool event(QEvent *);
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
flankerr
  опции профиля:
сообщение 24.9.2008, 15:07
Сообщение #14


Активный участник
***

Группа: Участник
Сообщений: 356
Регистрация: 9.1.2008
Пользователь №: 65

Спасибо сказали: 2 раз(а)




Репутация:   0  


Цитата
bool event(QEvent *);


т.е. на каждое событие дёргатьevent(QEvent *) и делать проверку на нужный тип события ? както некрасиво....
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_anonymous_*
сообщение 24.9.2008, 15:58
Сообщение #15





Гости








    


Цитата(trdm @ 11.9.2008, 20:49) Link
зря вы там вот так написали:
void focusOutEvent(QFocusEvent *) { /*set code*/ }

скури внимательнее: Link


А что собственно говря он неправильно сделал. Человек переопределил метод focusOutEvent. Что нетак?

Кури внимательнее: Link
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_anonymous_*
сообщение 24.9.2008, 16:00
Сообщение #16





Гости








    


Цитата(Litkevich Yuriy @ 15.9.2008, 12:36) Link
flankerr, а пост trdm'а, ты не читал?

откуда такая фукция: focusOutEvent(QFocusEvent *e)?


Link

Цитата(Litkevich Yuriy @ 15.9.2008, 12:36) Link
вот какая функция должна быть:
QFocusEvent ( Type type, Qt::FocusReason reason = Qt::OtherFocusReason )


Это не "функция", а конструктор класс QFocusEvent
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_anonymous_*
сообщение 24.9.2008, 16:06
Сообщение #17





Гости








    


Цитата(flankerr @ 24.9.2008, 15:07) Link
Цитата
bool event(QEvent *);

т.е. на каждое событие дёргатьevent(QEvent *) и делать проверку на нужный тип события ? както некрасиво....



Да ну, брось, все красиво ;)

bool YourWidget::event ( QEvent * event )
{
    if (event->type() == QEvent::WindowDeactivate) {
        // do_something
        return true;
    }
    return QWidget::event(event);
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V  < 1 2
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.12.2025, 21:35