我是一名学生程序员,我正在使用 Qt 为我公司的一款产品构建 GUI。本质上,这个 GUI 将读取某些文件并将数据提供给一个表格供用户编辑。我知道如何静态构造 QTableWidget。在这种情况下,我使用了以下内容:
for(int x=0; x < ui->tableWidgetInjectionLocations->rowCount(); x++)
{
for(int y=0; y < ui->tableWidgetInjectionLocations->columnCount(); y++)
{
ui->tableWidgetInjectionLocations->setItem(x,y, qTableWidgetItemInjection);
}
}
问题是这种方式会创建静态或固定数量的单元格,我希望这些单元格是基于用户交互构建的。也许当用户填写最后一行中的任何单元格以填充新单元格时,或者当用户向下滚动时......我离题了,我无法在 Qt Documentation 中找到有关如何处理此问题的任何文档。 .也许它的作者阻止了或者我遗漏了一些明显的东西,但任何帮助都会很棒。感谢您阅读并提前感谢您的帮助。
最佳答案
要添加一行,只需在您的QTableWidget::model()
上执行QAbstractItemModel::insertRow
。
QTableWidget
会自动调整。
即
ui->tableWidgetInjectionLocations->model()->insertRow(ui->tableWidgetInjectionLocations->model()->rowCount());
在最后一行之后添加一行。
有很多方法可以触发追加,你必须更精确地确定你想要什么......
关于c++ - QTableWidget中如何动态分配单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9669627/