QT子窗口退出全屏后大小异常
代码流程大概如下:
class myWidgetA : public QWidget
{
//.....
};
class myWidgetB : public QWidget
{
//......
bool itsBFullScreen;//是否全屏显示
void OnButtonFullScreen();
};
class myWnd : public QMainWindow
{
//......
myWidgetA* itsWA;
myWidgetB* itsWB;
};
myWnd::myWnd(QWidget*parent)
:QMainWindow(parent)
{
itsWA = new QDockWidget(this);
itsWA ->setAllowedAreas(Qt::LeftDockWidgetArea|Qt::RightDockWidgetArea);
addDockWidget(Qt::LeftDockWidgetArea,itsWA );
itsWB = new myWidgetB(this);
setCentralWidget(itsWB);
}
void myWidgetB::OnButtonFullScreen()
{
if (itsBFullScreen)
{
setWindowFlags(Qt::SubWindow);
showNormal();
}
else
{
setWindowFlags(Qt::Dialog);
showFullScreen();
}
itsBFullScreen= !itsBFullScreen;
}
全屏显示时itsWB显示正常,当退出全屏时itsWA和itsWB的大小发生改变,前者的宽度变长,同时后者的宽度变短,即没有退回原始的大小,烦请各位不吝指导,多谢了!