2010-01-29 54 views
7

Có ai cho tôi biết lý do tôi gặp lỗi và cách sửa lỗi không?Thêm bố cục vào bố cục khác trong Qt [C++]

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

lỗi tôi nhận được: 'lỗi: không có chức năng phù hợp cho cuộc gọi đến 'QGridLayout :: addLayout (QGridLayout * &)'
Cảm ơn bạn đã giúp đỡ nào.

Trả lời

8

Qt4 tham khảo nói:

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

Vì vậy, bạn phải làm:

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

Và whay nó mang lại cho tôi một lỗi nói rằng tôi đang cung cấp ref để con trỏ như một cuộc tranh cãi? –

+0

Có lẽ vì trình biên dịch của bạn là lần đầu tiên cố gắng vượt qua đối số bằng cách tham chiếu. Nhưng nếu bạn vượt qua các thông số chính xác như tôi đã cho bạn thấy, bạn sẽ không thấy lỗi nữa (tôi mong đợi). –

Các vấn đề liên quan