2010-01-29 12 views
7

¿Podría alguien decirme por qué me sale un error y cómo solucionarlo?Agregar diseño a otro diseño en Qt [C++]

 QGridLayout* mainLayout = new QGridLayout; 
     QGridLayout *leftLayout = new QGridLayout; 
     QGridLayout *rightLayout = new QGridLayout; 
     mainLayout->addLayout(leftLayout); 
     mainLayout->addLayout(rightLayout); 
     setLayout(mainLayout); 

error que estoy consiguiendo: 'Error: ninguna función coincidente para la llamada a 'QGridLayout :: addLayout (QGridLayout * &)'
Gracias por cualquier ayuda.

Respuesta

8

Qt4 referencia dice:

void addLayout (QLayout * layout, int row, int column, Qt::Alignment alignment = 0)

lo que tiene que hacer:

mainLayout->addLayout(leftLayout, 0, 0); 
mainLayout->addLayout(rightLayout, 0, 1); 
+0

Y whay me da un error que dice que estoy proporcionando árbitro puntero como un argumento? –

+0

Probablemente porque su compilador primero intenta pasar el argumento por referencia. Pero si pasas los parámetros correctos como te mostré, ya no verás el error (supongo). –

Cuestiones relacionadas