首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt4.8我使用QGridLayout时setSizePolicy(QSizePolicy ::Expanding,QSizePolicy ::Expanding)的效果

Qt4.8我使用QGridLayout时setSizePolicy(QSizePolicy ::Expanding,QSizePolicy ::Expanding)的效果
EN

Stack Overflow用户
提问于 2013-05-14 16:08:36
回答 1查看 22.9K关注 0票数 2

我想像这样对主窗口进行切片

我的布局代码如下:

代码语言:javascript
复制
QGridLayout *gLayout = new QGridLayout ();

viewWidget->setStyleSheet("background-color: #333;" );
for ( i = 0; i < m_numOfVideoWidget; i++)
{
     QWidget *vWidget = new QWidget(viewWidget);
     vWidget->setSizePolicy(QSizePolicy ::Expanding , QSizePolicy ::Expanding );
     videoList.append( vWidget);
}
index = 0;
for ( j = 0; j < 4; j += 2)
{
       gLayout->addWidget( videoList[ index++], 0, j, 2, 2);
}
for ( i = 2; i < 4; i++)
      for ( j = 0; j < 4; j++)
            gLayout-> addWidget( videoList[ index++], i, j);
viewWidget->setLayout(gLayout );

不幸的是,结果与预期相去甚远:

但当我去掉下面这句话时:

代码语言:javascript
复制
vWidget->setSizePolicy(QSizePolicy ::Expanding , QSizePolicy ::Expanding );

结果符合我的预期。

为什么

代码语言:javascript
复制
setSizePolicy(QSizePolicy ::Expanding , QSizePolicy ::Expanding );

会影响QGridLayout吗?

谢谢~

EN

回答 1

Stack Overflow用户

发布于 2013-05-17 14:31:29

您似乎没有设置vWidget的sizePolicy,而是设置了"this“小部件的widget。这是故意的吗?

我的猜测是,网格布局试图影响一个大小策略,它是内容的大小策略的总和,而设置" this“小部件的大小策略有点干扰这一点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16538057

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档