Название: Странное поведение главного окна
Отправлено: AlekseyK от Сентябрь 04, 2011, 08:41
После максимизации окна стоит только переключиться на другое приложение и вернуться назад или нажать любую кнопку или другой контрол окно возвращается в исходное состояние, исходный размер (restore). Кто-нибудь сталкивался с подобным? Что за странность, из-за чего может возникать? Флаги неправильные, стили, что? Воспроизводится в Windows и Linux, на Маке такого нет.
Название: Re: Странное поведение главного окна
Отправлено: AlekseyK от Сентябрь 05, 2011, 04:30
Хмм, метод MyMainWindow::resizeEvent(QResizeEvent *event) показывает, что событие по возвращению окна к исходному состоянию - спонтанное: C++ (Qt) event->spontaneous() == true;
Как такое может быть и почему???
Название: Re: Странное поведение главного окна
Отправлено: AlekseyK от Сентябрь 12, 2011, 23:44
X-сервер посылает XEvent с type=22, что означает ConfigureNotify. Почему Qt интерпретирует его как "resize event" (в translateConfigEvent) и восстанавливает размер окна??!! Думаю, что схожая ситуация происходит в Windows, нужно там тоже посмотреть стек. Стек прилагается:C++ (Qt) 0 KMyWindow::resizeEvent KMyWindow.cpp 82 0x4a6649 1 QWidget::event qwidget.cpp 8449 0x7ffff4e82d82 2 QMainWindow::event qmainwindow.cpp 1478 0x7ffff524cb5b 3 QApplicationPrivate::notify_helper qapplication.cpp 4481 0x7ffff4e31234 4 QApplication::notify qapplication.cpp 4360 0x7ffff4e397ca 5 QCoreApplication::notifyInternal qcoreapplication.cpp 787 0x7ffff45fd99c 6 sendSpontaneousEvent qcoreapplication.h 218 0x7ffff4ea1233 7 QETWidget::translateConfigEvent qapplication_x11.cpp 5338 0x7ffff4ea1233 8 QApplication::x11ProcessEvent qapplication_x11.cpp 3492 0x7ffff4eafa3b 9 x11EventSourceDispatch qguieventdispatcher_glib.cpp 146 0x7ffff4ed75c2 10 g_main_context_dispatch /usr/lib64/libglib-2.0.so.0 0 0x7ffff31c0a93 11 ?? /usr/lib64/libglib-2.0.so.0 0 0x7ffff31c1270 12 g_main_context_iteration /usr/lib64/libglib-2.0.so.0 0 0x7ffff31c1510 13 QEventDispatcherGlib::processEvents qeventdispatcher_glib.cpp 422 0x7ffff46286ef 14 QGuiEventDispatcherGlib::processEvents qguieventdispatcher_glib.cpp 204 0x7ffff4ed725e 15 QEventLoop::processEvents qeventloop.cpp 149 0x7ffff45fcdd2 16 QEventLoop::exec qeventloop.cpp 201 0x7ffff45fcfe5 17 QCoreApplication::exec qcoreapplication.cpp 1064 0x7ffff460144b 18 KMyApplication::exec timedoctor_application.h 89 0x4df871 19 main main.cpp 48 0x4df556
|