2012-03-02 17 views
11
------------ ------ 
|   | | 2 | 
|   | | | 
|  1 | ------ 
|   | ------ 
|   | | 3 | 
------------ ------ 

¿Cómo organizar el QGridLayout como arriba?¿Cómo organizar los elementos en QGridLayout como se muestra?

me trataron:

QGridLayout *layout = new QGridLayout(); 
centralWidget->setLayout (layout); 

layout->addWidget (objOne, 0, 0); 
layout->addWidget (objTwo, 0, 1); 
layout->addWidget (objThree, 1, 1); 

pero fracasó.

Respuesta

19

Consulte la documentación de addWidget. Puede proporcionar el aviso rowSpan y columnSpan

QGridLayout *layout = new QGridLayout(); 
centralWidget->setLayout (layout); 

layout->addWidget (objOne, 0, 0, -1, 1); 
layout->addWidget (objTwo, 0, 1, 1, 1); 
layout->addWidget (objThree, 1, 1, 1, 1); 

sin embargo, que es mucho más fácil para crear el diseño deseado usando QtDesigner. Compruebe this Qt documentation page para más detalles

14

¿Es de alguna manera obligatorio para usted utilizar QGridLayout por alguna razón? Para diseños simples como este, me resulta más fácil usar una combinación de un QHBoxLayout y un QVBoxLayout.

QVBoxLayout* vlayout = new QVBoxLayout(); 
vlayout->addWidget(objTwo); 
vlayout->addWidget(objThree); 

QHBoxLayout* hlayout = new QHBoxLayout(); 
hlayout->addWidget(objOne); 
hlayout->addLayout(vlayout); 
Cuestiones relacionadas