我想像这样切片主窗口
我的布局代码如下:
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 );
不幸的是,结果远非预期:
但是当我删除下面的吼叫:
vWidget->setSizePolicy(QSizePolicy ::Expanding , QSizePolicy ::Expanding );
结果是我的期望。
为什么
setSizePolicy(QSizePolicy ::Expanding , QSizePolicy ::Expanding );
会影响QGridLayout吗?
感谢〜
答案 0 :(得分:0)
您似乎没有设置vWidget的sizePolicy,而是设置“this”小部件的sizePolicy。是故意吗?
我的猜测是网格布局试图影响一个大小策略,它是内容大小策略的总和,而设置“this”小部件的大小策略则会干扰它。