QMainWindow
으로 자식을 내 메인 QMainWindow
으로 사용합니다. 이를 통해 도킹 가능한 위젯 (QDockWidget
)에 사용할 수있는 다른 영역이 생겼습니다.플로팅 하위 QMainWindow (QMainWindow는 메인 QMainWindow의 하위 위젯)
다음 게시물에 따르면 이것이 정상이며 나에게도 완벽하게 작동합니다.
- https://qt-project.org/forums/viewthread/17519
- http://www.qtcentre.org/threads/12569-QMainWindow-as-a-child-of-QMainWindow
QMainWindow
정상적인 위젯으로 행동하려면,이 트릭은 위의 게시물 중 하나에 언급되어있다.
이제 모든 자식 도킹 된 위젯으로이 하위 QMainWindow
을 플로팅 할 수 있기를 바랍니다. 다시 말해서, "정상적인 위젯으로 만들기"단계를 되돌리고 싶습니다. 불행히도, 이것은 작동하지 않습니다. 메인 윈도우에서 사라졌지만 보이지 않습니다.
문제를 해결하려면 어떤 방법이 필요합니까? 관련
// this is the child QMainWindow
if (this->m_infoAreaFloating)
{
// this should give me a floating window besides the main window
this->setWindowFlags(Qt::Desktop);
this->show();
}
else
{
// make this compliant as QWidget
this->setWindowFlags(this->windowFlags() & ~Qt::Window);
}