2010-01-29 103 views
7

任何人都可以告诉我为什么出现错误以及如何解决它?将布局添加到Qt中的另一个布局[C++]

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

错误我收到: “错误:调用没有匹配的函数 'QGridLayout :: addLayout(QGridLayout * &)'
感谢您的任何帮助。

回答

8

的Qt4参考说:

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

所以你要做的:

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

而whay它给了我一个错误,说我提供裁判指针作为参数? – 2010-01-29 21:25:57

+0

可能是因为你的编译器首先试图通过引用传递参数。但是,如果你按照我所显示的那样传递了正确的参数,就不会再看到错误了(我期望)。 – 2010-01-29 21:52:14