通过名称或别名引用 Qt tableWidget 列

Qt tableWidget column reference by name or alias

我是 Qt 新手,只有一点点 C++ 经验,正在开发桌面应用程序。

我正在使用 tableWidget,我的代码通过(行、列)指针填充单元格。目前这没问题,但我可以看到,如果我需要添加或移动一个列,我将很高兴地修复散布在我的代码中的所有指针。

有没有办法为列号使用别名并通过该别名引用单元格?例如,而不是

ui->tableWidget1->setItem(0, 3, new QTableWidgetItem(ui->lblWeight->text()));

我能再点点类似的吗

ui->tableWidget1->setItem(0, "colWeight", new QTableWidgetItem(ui->lblWeight->text()));

其中 "colWeight" 已分配给第 3 列?

使用colWeight作为变量:

int colWeight = 3; // Your column indicator
...
ui->tableWidget1->setItem(0, colWeight, new QTableWidgetItem(ui->lblWeight->text()));

如果别名在 运行 时间内没有改变,我会使用 enum 而不是变量。

enum Column
{
    ColumnA = 0,
    ColumnB = 1,
    ColumnC = 2
};

ui->tableWidget1->setItem(0, ColumnA, new QTableWidgetItem(ui->lblWeight->text()));