QT子窗口退出全屏后大小异常

liningzheng 2013-11-14 10:08:17
代码流程大概如下:
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的大小发生改变,前者的宽度变长,同时后者的宽度变短,即没有退回原始的大小,烦请各位不吝指导,多谢了!
...全文
226 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
RabinSong 2013-11-14
  • 打赏
  • 举报
回复
http://blog.csdn.net/rabinsong/article/details/8660783看看,能不改变,通过保存窗体位置
  • 打赏
  • 举报
回复
其实你可以通过QGridLayout来实现

16,235

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧