如何在QTableWidget中动态分配单元格

How to dynamically allocate cells in QTableWidget

本文关键字:动态分配 单元格 QTableWidget      更新时间:2023-10-16

我是一名学生程序员,正在使用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文档中找不到任何关于如何处理这一问题的文档。也许它的作者屏蔽了,或者我错过了一些显而易见的东西,但任何帮助都会很棒。感谢您的阅读和提前提供的任何帮助。

要添加一行,只需在QTableWidget::model()上执行QAbstractItemModel::insertRow即可
QTableWidget将自动调整自身。

ui->tableWidgetInjectionLocations->model()->insertRow(ui->tableWidgetInjectionLocations->model()->rowCount());

在最后一行之后添加一行。

有很多方法可以触发附加,你必须更精确地确定你想要什么。。。