2013-12-20 94 views
0

我需要創建並添加到網格佈局8個標籤:Qt的動態QLabel創建

QLabel *cell[9]; 
for(int i=0;i<9;i++) { 
    cell[i] = new QLabel(this); 
    ui->gridLayout->addWidget(cell[i]); 
} 

但QtCreator寫道

Error - RtlWerpReportException failed with status code :-1073741823. Will try to launch the process directly 

有什麼不對?

+0

您是否需要跟蹤標籤(是否需要存儲標籤數組)? – Kikohs

+0

那是什麼? IE,什麼是「這個」?如果你從'QLabel'構造函數中刪除「this」,它是否工作?如果'this'不是QObject,那麼當然會失敗。 –

+0

是的,我需要跟蹤標籤 – ExiD

回答

0

我會讓網格佈局管理對您的QLabel s的訪問。查看鏈接中的示例。

Correctly implementing a custom QWidget in Qt

對這個問題的答案的結束,如何從一個網格佈局訪問控件注:

QLabel * label = qobject_cast<QLabel*>(m_gridLayout->itemAtPosition(row, col)->widget()); 
if(label != 0) 
{ 
    label->setText(val); 
} 

希望有所幫助。