0
我正在構建一個簡單的小部件,它將從lineEdit獲取輸入,並將其作爲新行(假設該條目不在那裏)添加到QTableWidget中。我一直遇到的問題是文本不會顯示在tablewidget中,儘管行顯示爲空。QTableWidget不顯示文本
相關代碼:
在構造函數中:
rowCounter = 0;
ui->flagTable->setColumnCount(1);
ui->flagTable->horizontalHeader()->hide();
ui->flagTable->verticalHeader()->hide();
ui->flagTable->setColumnWidth(0,148);
QString commandInput = ui->flagInput->text();
在on_flagInput_returnPressed():
QString commandInput = ui->flagInput->text();
if (ui->flagTable->findItems(commandInput, Qt::MatchFixedString).isEmpty())
{
rowCounter++;
ui->flagTable->setRowCount(rowCounter);
ui->flagTable->setItem(rowCounter, 0, new QTableWidgetItem(commandInput));
}
^這是在代碼中。
您有內存泄漏,如'commandItem'是永遠使用或刪除。也許你打算使用它而不是'新的QTableWidgetItem(commandInput)'?另外,爲什麼你將它設置在第1列,而你的flagTable只有1列?這不應該是0嗎? –
@JeffreyvandeGlind這是從以前的嘗試遺留下來的。重新格式化,同樣的錯誤仍然存在 –
您還在'rowCount()',而不是'rowCount() - 1'上設置項目。添加新的唯一輸入時是否看到以前的輸入? –