crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Перехватывание события: окно не имело фокуса и получила его, focusInEvent & focusOutEvent
Гость_AHTOH_*
сообщение 18.9.2008, 9:48
Сообщение #1





Гости








    


Здравствуйте.

Задача: У меня имеется многопоточное клиент - серверное приложение. Необходимо выполнять синхронизацию, когда окно клиента не имело фокуса и вдруг его получило. Т.е. у меня открыто 2 клиентских окна, в одном из них я добавил запись в БД. Нужно, чтобы при переключение на окно другого клиента, данные в нём обновились.


Пробовал совместное перегружение функций focusInEvent & focusOutEvent.

Но по непонятным причинам, срабатывает необходимое только 1 раз.


Вот конкретная последовательность моих шагов:
В классе главного окна ( QMainWindow ) я пишу объявление перегруженной функции:
...
private slots:
void focusInEvent( QFocusEvent* event );
...

В реализации функции имеется следующий код:

void CTouristClient::focusInEvent( QFocusEvent* event ) {
// Focus In Event
resetData();
}

И данный код выполняется всего лишь 1 раз. Т.е. я открываю окно одного клиента, добавляю в нём запись в БД, переключаюсь на окно другого клиента - данные обновились - всё сработало. При повторной попытке повторить то же самое - ничего не происходит.

Подскажите, пожалуйста, в чём может быть дело.

P.S. Qt Win Commercial 4.3.1 & MVS2005.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Tonal
  опции профиля:
сообщение 19.9.2008, 10:15
Сообщение #2


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

Группа: Участник
Сообщений: 452
Регистрация: 6.12.2007
Из: Новосибирск
Пользователь №: 34

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




Репутация:   17  


А причём тут многопоточность?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_AHTOH_*
сообщение 19.9.2008, 16:17
Сообщение #3





Гости








    


Цитата(Tonal @ 19.9.2008, 10:15) *
А причём тут многопоточность?



Да в общем - то к тому вопросу, который я задал она не относится ( это была предыстория ).
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Tonal
  опции профиля:
сообщение 19.9.2008, 19:52
Сообщение #4


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

Группа: Участник
Сообщений: 452
Регистрация: 6.12.2007
Из: Новосибирск
Пользователь №: 34

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




Репутация:   17  


Что имеется в виду под клиентом? Другой экземпляр твоего приложения?
Если да, то смотри события с типами QEvent::ApplicationActivate и QEvent::ApplicationDeactivate
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 26.10.2021, 12:46