0

QTableWidgeに(コードで)アイテムを追加しようとすると、アプリが実行されません。Program Crashedダイアログが表示され、終了します。これが私が使用したコードです:

QTableWidgetItem *something = new QTableWidgetItem(QString("A"));
ui->itemTable->setItem(1,1,something);
4

2 に答える 2

0

gdbを使用して、コアバックトレースを取得し、問題の原因を分析できます。

于 2012-09-17T07:18:10.597 に答える
0

ui->setupUi(this)この関数はプログラムで使用するすべてのウィジェットを作成するため、コードを後に配置する必要があります。元のコードは、アイテムを存在しないウィジェットに挿入しようとします(つまり、まだメモリが割り当てられていません)。そのため、プログラムがクラッシュします。

そのはず:

constructor
{
    ui->setupUi(this);

    /* some code */
    QTableWidgetItem *something = new QTableWidgetItem(QString("A"));
    ui->itemTable->setItem(1,1,something);
    /* some code */
}
于 2012-09-17T08:29:18.387 に答える