Qt 表按名称或别名引用小部件列

Qt tableWidget column reference by name or alias

本文关键字:引用 小部 别名 Qt      更新时间:2023-10-16

我是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 列的位置?

如果别名在运行时没有更改,我会使用枚举而不是变量。

enum Column
{
    ColumnA = 0,
    ColumnB = 1,
    ColumnC = 2
};
ui->tableWidget1->setItem(0, ColumnA, new QTableWidgetItem(ui->lblWeight->text()));

使用 colWeight 作为变量:

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