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'上设置项目。添加新的唯一输入时是否看到以前的输入? –