5.3.1 QWidget::clearFocus QWidget(0x5bc31aab10, name = "qt_scrollarea_viewport") # MdiArea::StackingOrder QApplicationPrivate::setFocusWidget QObject(0x0) 3 QMdiSubWindowPrivate::setActive QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") activate= true changeFocus true # MyMainWindow::mdiAreaSubWindowActivated QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") QApp::focusW= QObject(0x0) QMdiSubWindowPrivate::setFocusWidget QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") QMdiSubWindowPrivate::setFocusWidget focus of base QObject(0x0) base= QWidget(0x5bc5301710, name = "MyWidget0") QMdiSubWindowPrivate::setFocusWidget QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") looping QWidget(0x5bc5301710, name = "MyWidget0") QMdiSubWindowPrivate::setFocusWidget QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") calling setFocus QLineEdit(0x5bc53ac1a0, name = "LineEdit0_0") QWidget::setFocus QLineEdit(0x5bc53ac1a0, name = "LineEdit0_0") reason= 7 QWidget::setFocusLE00! QWidgetPrivate::updateFocusChild QLineEdit(0x5bc53ac1a0, name = "LineEdit0_0") QWidgetPrivate::updateFocusChild QLineEdit(0x5bc53ac1a0, name = "LineEdit0_0") assigning focus_child QLineEdit(0x5bc53ac1a0, name = "LineEdit0_0") QWidgetPrivate::updateFocusChild QWidget(0x5bc5301710, name = "MyWidget0") assigning focus_child QLineEdit(0x5bc53ac1a0, name = "LineEdit0_0") QWidgetPrivate::updateFocusChild QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") assigning focus_child QLineEdit(0x5bc53ac1a0, name = "LineEdit0_0") QWidgetPrivate::updateFocusChild QWidget(0x5bc31ab590, name = "MdiAreaViewPort") assigning focus_child QLineEdit(0x5bc53ac1a0, name = "LineEdit0_0") QWidgetPrivate::updateFocusChild QMdiArea(0x5bc31ab520) assigning focus_child QLineEdit(0x5bc53ac1a0, name = "LineEdit0_0") QWidgetPrivate::updateFocusChild MyMainWindow(0x5bc2faf8c0, name = "MdiArea") assigning focus_child QLineEdit(0x5bc53ac1a0, name = "LineEdit0_0") QWidget::setFocus QLineEdit(0x5bc53ac1a0, name = "LineEdit0_0") calling setFocusWidget QLineEdit(0x5bc53ac1a0, name = "LineEdit0_0") QApplicationPrivate::setFocusWidget QLineEdit(0x5bc53ac1a0, name = "LineEdit0_0") 7 # 0 FocusIn 7 "LineEdit0_0" ###### Focus in LineEdit0_0: 0 !!!!!!!!!!!!!! QMdiSubWindowPrivate::_q_processFocusChanged QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") old= QObject(0x0) now= QLineEdit(0x5bc53ac1a0, name = "LineEdit0_0") QMdiSubWindowPrivate::setActive QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") activate= true changeFocus true QMdiSubWindowPrivate::setActive QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") activate= true changeFocus true # MyWidget::setInitialFocus QWidget::setFocus QLineEdit(0x5bc57165e0, name = "LineEdit0_2") reason= 7 QWidgetPrivate::updateFocusChild QLineEdit(0x5bc57165e0, name = "LineEdit0_2") QWidgetPrivate::updateFocusChild QLineEdit(0x5bc57165e0, name = "LineEdit0_2") assigning focus_child QLineEdit(0x5bc57165e0, name = "LineEdit0_2") QWidgetPrivate::updateFocusChild QWidget(0x5bc5301710, name = "MyWidget0") assigning focus_child QLineEdit(0x5bc57165e0, name = "LineEdit0_2") QWidgetPrivate::updateFocusChild QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") assigning focus_child QLineEdit(0x5bc57165e0, name = "LineEdit0_2") QWidgetPrivate::updateFocusChild QWidget(0x5bc31ab590, name = "MdiAreaViewPort") assigning focus_child QLineEdit(0x5bc57165e0, name = "LineEdit0_2") QWidgetPrivate::updateFocusChild QMdiArea(0x5bc31ab520) assigning focus_child QLineEdit(0x5bc57165e0, name = "LineEdit0_2") QWidgetPrivate::updateFocusChild MyMainWindow(0x5bc2faf8c0, name = "MdiArea") assigning focus_child QLineEdit(0x5bc57165e0, name = "LineEdit0_2") QWidget::setFocus QLineEdit(0x5bc57165e0, name = "LineEdit0_2") calling setFocusWidget QLineEdit(0x5bc57165e0, name = "LineEdit0_2") QApplicationPrivate::setFocusWidget QLineEdit(0x5bc57165e0, name = "LineEdit0_2") 7 # 0 FocusOut 7 "LineEdit0_0" # 1 FocusIn 7 "LineEdit0_2" QMdiSubWindowPrivate::_q_processFocusChanged QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") old= QLineEdit(0x5bc53ac1a0, name = "LineEdit0_0") now= QLineEdit(0x5bc57165e0, name = "LineEdit0_2") QMdiSubWindowPrivate::setActive QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") activate= true changeFocus true # MyMainWindow::newSubWindow CREATED QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") QApp::focusW= QLineEdit(0x5bc57165e0, name = "LineEdit0_2") QMdiSubWindowPrivate::setActive QMdiSubWindow(0x5bc5716a40, name = "MdiSubWindow1") activate= true changeFocus true QMdiSubWindowPrivate::setActive QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") activate= false changeFocus true ############ On deactivation of "MdiSubWindow0 focus is cleared and focus_child of MyWidget0 is cleared QMdiSubWindowPrivate::setActive Clear focus QLineEdit(0x5bc57165e0, name = "LineEdit0_2") QWidget::clearFocus QLineEdit(0x5bc57165e0, name = "LineEdit0_2") clearFocusLE02 Clearing focus child QLineEdit(0x5bc57165e0, name = "LineEdit0_2") Clearing focus child QWidget(0x5bc5301710, name = "MyWidget0") Clearing focus child QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") Clearing focus child QWidget(0x5bc31ab590, name = "MdiAreaViewPort") Clearing focus child QMdiArea(0x5bc31ab520) Clearing focus child MyMainWindow(0x5bc2faf8c0, name = "MdiArea") QApplicationPrivate::setFocusWidget QObject(0x0) 7 # 1 FocusOut 7 "LineEdit0_2" QMdiSubWindowPrivate::_q_processFocusChanged QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") old= QLineEdit(0x5bc57165e0, name = "LineEdit0_2") now= QObject(0x0) QMdiSubWindowPrivate::_q_processFocusChanged QMdiSubWindow(0x5bc5716a40, name = "MdiSubWindow1") old= QLineEdit(0x5bc57165e0, name = "LineEdit0_2") now= QObject(0x0) # MyMainWindow::subWindowStateChanged QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") QFlags(0x8) QFlags() QApp::focusW= QObject(0x0) # MyMainWindow::mdiAreaSubWindowActivated QMdiSubWindow(0x5bc5716a40, name = "MdiSubWindow1") QApp::focusW= QObject(0x0) QMdiSubWindowPrivate::setFocusWidget QMdiSubWindow(0x5bc5716a40, name = "MdiSubWindow1") ############ On Re-ativation of MdiSubWindow0, it goes searching for focus child and finds first line edit QMdiSubWindowPrivate::setFocusWidget focus of base QObject(0x0) base= QWidget(0x5bc570f680, name = "MyWidget1") QMdiSubWindowPrivate::setFocusWidget QMdiSubWindow(0x5bc5716a40, name = "MdiSubWindow1") looping QWidget(0x5bc570f680, name = "MyWidget1") QMdiSubWindowPrivate::setFocusWidget QMdiSubWindow(0x5bc5716a40, name = "MdiSubWindow1") calling setFocus QLineEdit(0x5bc57168f0, name = "LineEdit1_0") QWidget::setFocus QLineEdit(0x5bc57168f0, name = "LineEdit1_0") reason= 7 QWidgetPrivate::updateFocusChild QLineEdit(0x5bc57168f0, name = "LineEdit1_0") QWidgetPrivate::updateFocusChild QLineEdit(0x5bc57168f0, name = "LineEdit1_0") assigning focus_child QLineEdit(0x5bc57168f0, name = "LineEdit1_0") QWidgetPrivate::updateFocusChild QWidget(0x5bc570f680, name = "MyWidget1") assigning focus_child QLineEdit(0x5bc57168f0, name = "LineEdit1_0") QWidgetPrivate::updateFocusChild QMdiSubWindow(0x5bc5716a40, name = "MdiSubWindow1") assigning focus_child QLineEdit(0x5bc57168f0, name = "LineEdit1_0") QWidgetPrivate::updateFocusChild QWidget(0x5bc31ab590, name = "MdiAreaViewPort") assigning focus_child QLineEdit(0x5bc57168f0, name = "LineEdit1_0") QWidgetPrivate::updateFocusChild QMdiArea(0x5bc31ab520) assigning focus_child QLineEdit(0x5bc57168f0, name = "LineEdit1_0") QWidgetPrivate::updateFocusChild MyMainWindow(0x5bc2faf8c0, name = "MdiArea") assigning focus_child QLineEdit(0x5bc57168f0, name = "LineEdit1_0") QWidget::setFocus QLineEdit(0x5bc57168f0, name = "LineEdit1_0") calling setFocusWidget QLineEdit(0x5bc57168f0, name = "LineEdit1_0") QApplicationPrivate::setFocusWidget QLineEdit(0x5bc57168f0, name = "LineEdit1_0") 7 # 2 FocusIn 7 "LineEdit1_0" QMdiSubWindowPrivate::_q_processFocusChanged QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") old= QObject(0x0) now= QLineEdit(0x5bc57168f0, name = "LineEdit1_0") QMdiSubWindowPrivate::_q_processFocusChanged QMdiSubWindow(0x5bc5716a40, name = "MdiSubWindow1") old= QObject(0x0) now= QLineEdit(0x5bc57168f0, name = "LineEdit1_0") QMdiSubWindowPrivate::setActive QMdiSubWindow(0x5bc5716a40, name = "MdiSubWindow1") activate= true changeFocus true QMdiSubWindowPrivate::setActive QMdiSubWindow(0x5bc5716a40, name = "MdiSubWindow1") activate= true changeFocus true # MyMainWindow::newSubWindow CREATED QMdiSubWindow(0x5bc5716a40, name = "MdiSubWindow1") QApp::focusW= QLineEdit(0x5bc57168f0, name = "LineEdit1_0") QApplication::notify QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") calling giveFocusAccordingToFocusPolicy() QApplicationPrivate::giveFocusAccordingToFocusPolicy looping QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") starting from QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") QApplicationPrivate::giveFocusAccordingToFocusPolicy setting QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") QWidget::setFocus QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") reason= 0 ############ QWidgetPrivate::updateFocusChild QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") QWidgetPrivate::updateFocusChild QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") assigning focus_child QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") QWidgetPrivate::updateFocusChild QWidget(0x5bc31ab590, name = "MdiAreaViewPort") assigning focus_child QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") QWidgetPrivate::updateFocusChild QMdiArea(0x5bc31ab520) assigning focus_child QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") QWidgetPrivate::updateFocusChild MyMainWindow(0x5bc2faf8c0, name = "MdiArea") assigning focus_child QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") QWidget::setFocus QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") calling setFocusWidget QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") QApplicationPrivate::setFocusWidget QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") 0 # 2 FocusOut 0 "LineEdit1_0" # 3 FocusIn 0 "MdiSubWindow0" QMdiSubWindowPrivate::_q_processFocusChanged QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") old= QLineEdit(0x5bc57168f0, name = "LineEdit1_0") now= QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") QMdiSubWindowPrivate::setFocusWidget QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") QMdiSubWindowPrivate::setFocusWidget focus of base QObject(0x0) base= QWidget(0x5bc5301710, name = "MyWidget0") QMdiSubWindowPrivate::setFocusWidget QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") looping QWidget(0x5bc5301710, name = "MyWidget0") QMdiSubWindowPrivate::setFocusWidget QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") calling setFocus QLineEdit(0x5bc53ac1a0, name = "LineEdit0_0") QWidget::setFocus QLineEdit(0x5bc53ac1a0, name = "LineEdit0_0") reason= 7 QWidget::setFocusLE00! QWidgetPrivate::updateFocusChild QLineEdit(0x5bc53ac1a0, name = "LineEdit0_0") QWidgetPrivate::updateFocusChild QLineEdit(0x5bc53ac1a0, name = "LineEdit0_0") assigning focus_child QLineEdit(0x5bc53ac1a0, name = "LineEdit0_0") QWidgetPrivate::updateFocusChild QWidget(0x5bc5301710, name = "MyWidget0") assigning focus_child QLineEdit(0x5bc53ac1a0, name = "LineEdit0_0") QWidgetPrivate::updateFocusChild QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") assigning focus_child QLineEdit(0x5bc53ac1a0, name = "LineEdit0_0") QWidgetPrivate::updateFocusChild QWidget(0x5bc31ab590, name = "MdiAreaViewPort") assigning focus_child QLineEdit(0x5bc53ac1a0, name = "LineEdit0_0") QWidgetPrivate::updateFocusChild QMdiArea(0x5bc31ab520) assigning focus_child QLineEdit(0x5bc53ac1a0, name = "LineEdit0_0") QWidgetPrivate::updateFocusChild MyMainWindow(0x5bc2faf8c0, name = "MdiArea") assigning focus_child QLineEdit(0x5bc53ac1a0, name = "LineEdit0_0") QWidget::setFocus QLineEdit(0x5bc53ac1a0, name = "LineEdit0_0") calling setFocusWidget QLineEdit(0x5bc53ac1a0, name = "LineEdit0_0") QApplicationPrivate::setFocusWidget QLineEdit(0x5bc53ac1a0, name = "LineEdit0_0") 7 # 3 FocusOut 7 "MdiSubWindow0" # 4 FocusIn 7 "LineEdit0_0" ###### Focus in LineEdit0_0: 1 !!!!!!!!!!!!!! QMdiSubWindowPrivate::_q_processFocusChanged QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") old= QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") now= QLineEdit(0x5bc53ac1a0, name = "LineEdit0_0") QMdiSubWindowPrivate::setActive QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") activate= true changeFocus true QMdiSubWindowPrivate::setActive QMdiSubWindow(0x5bc5716a40, name = "MdiSubWindow1") activate= false changeFocus true # MyMainWindow::subWindowStateChanged QMdiSubWindow(0x5bc5716a40, name = "MdiSubWindow1") QFlags(0x8) QFlags() QApp::focusW= QLineEdit(0x5bc53ac1a0, name = "LineEdit0_0") # MyMainWindow::subWindowAboutToActivate QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") QApp::focusW= QLineEdit(0x5bc53ac1a0, name = "LineEdit0_0") # MyMainWindow::mdiAreaSubWindowActivated QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") QApp::focusW= QLineEdit(0x5bc53ac1a0, name = "LineEdit0_0") # MyMainWindow::subWindowStateChanged QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") QFlags() QFlags(0x8) QApp::focusW= QLineEdit(0x5bc53ac1a0, name = "LineEdit0_0") QMdiSubWindowPrivate::_q_processFocusChanged QMdiSubWindow(0x5bc5716a40, name = "MdiSubWindow1") old= QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") now= QLineEdit(0x5bc53ac1a0, name = "LineEdit0_0") QMdiSubWindowPrivate::setActive QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") activate= true changeFocus true QMdiSubWindowPrivate::_q_processFocusChanged QMdiSubWindow(0x5bc5716a40, name = "MdiSubWindow1") old= QLineEdit(0x5bc57168f0, name = "LineEdit1_0") now= QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") QApplication::notify QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") calling giveFocusAccordingToFocusPolicy() QApplicationPrivate::setFocusWidget QObject(0x0) 3 # 4 FocusOut 3 "LineEdit0_0" QMdiSubWindowPrivate::_q_processFocusChanged QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") old= QLineEdit(0x5bc53ac1a0, name = "LineEdit0_0") now= QObject(0x0) QMdiSubWindowPrivate::_q_processFocusChanged QMdiSubWindow(0x5bc5716a40, name = "MdiSubWindow1") old= QLineEdit(0x5bc53ac1a0, name = "LineEdit0_0") now= QObject(0x0) QMdiSubWindowPrivate::setActive QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") activate= false changeFocus false # MyMainWindow::mdiAreaSubWindowActivated QObject(0x0) QApp::focusW= QObject(0x0) # MyMainWindow::subWindowStateChanged QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") QFlags(0x8) QFlags() QApp::focusW= QObject(0x0) QWidget::clearFocus QWidget(0x5bc2faf8c0, name = "MdiArea") QWidget::clearFocus QWidget(0x5bc3152fc0, name = "qt_rubberband") QWidget::clearFocus QWidget(0x5bc31ab520) QWidget::clearFocus QWidget(0x5bc31483a0, name = "qt_scrollarea_hcontainer") QWidget::clearFocus QWidget(0x5bc31ab600) QWidget::clearFocus QWidget(0x5bc3148550, name = "qt_scrollarea_vcontainer") QWidget::clearFocus QWidget(0x5bc31aaa30) QWidget::clearFocus QWidget(0x5bc31ab590, name = "MdiAreaViewPort") QMdiSubWindowPrivate::setActive QMdiSubWindow(0x5bc5716a40, name = "MdiSubWindow1") activate= false changeFocus true QWidget::clearFocus QWidget(0x5bc5716a40, name = "MdiSubWindow1") QWidget::clearFocus QWidget(0x5bc57167a0) QWidget::clearFocus QWidget(0x5bc572f100) QWidget::clearFocus QWidget(0x5bc57e0e50) QWidget::clearFocus QWidget(0x5bc570f680, name = "MyWidget1") QWidget::clearFocus QWidget(0x5bc57168f0, name = "LineEdit1_0") Clearing focus child QWidget(0x5bc57168f0, name = "LineEdit1_0") Clearing focus child QWidget(0x5bc570f680, name = "MyWidget1") Clearing focus child QWidget(0x5bc5716a40, name = "MdiSubWindow1") QWidget::clearFocus QWidget(0x5bc5716500, name = "LineEdit1_1") QWidget::clearFocus QWidget(0x5bc57166c0, name = "LineEdit1_2") QWidget::clearFocus QWidget(0x5bc5715c40, name = "LineEdit1_3") QWidget::clearFocus QWidget(0x5bc5715d90, name = "LineEdit1_4") QMdiSubWindowPrivate::setActive QMdiSubWindow(0x5bc57159a0, name = "MdiSubWindow0") activate= false changeFocus true QWidget::clearFocus QWidget(0x5bc57159a0, name = "MdiSubWindow0") QWidget::clearFocus QWidget(0x5bc5715700) QWidget::clearFocus QWidget(0x5bc5396790) QWidget::clearFocus QWidget(0x5bc56f9be0) QWidget::clearFocus QWidget(0x5bc5301710, name = "MyWidget0") QWidget::clearFocus QWidget(0x5bc53ac1a0, name = "LineEdit0_0") Clearing focus child QWidget(0x5bc53ac1a0, name = "LineEdit0_0") Clearing focus child QWidget(0x5bc5301710, name = "MyWidget0") Clearing focus child QWidget(0x5bc57159a0, name = "MdiSubWindow0") Clearing focus child QWidget(0x5bc31ab590, name = "MdiAreaViewPort") Clearing focus child QWidget(0x5bc31ab520) Clearing focus child QWidget(0x5bc2faf8c0, name = "MdiArea") QWidget::clearFocus QWidget(0x5bc5716c70, name = "LineEdit0_1") QWidget::clearFocus QWidget(0x5bc57165e0, name = "LineEdit0_2") clearFocusLE02 QWidget::clearFocus QWidget(0x5bc5716f10, name = "LineEdit0_3") QWidget::clearFocus QWidget(0x5bc5715850, name = "LineEdit0_4") QWidget::clearFocus QWidget(0x5bc31aae90) QWidget::clearFocus QWidget(0x5bc31aafe0, name = "qt_menubar_ext_button") QWidget::clearFocus QWidget(0x5bc5377910) QWidget::clearFocus QWidget(0x5bc31ab4b0, name = "desktop") QWidget::clearFocus QWidget(0x5bc31aa9c0)