Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/157.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
按名称或别名列出的Qt tableWidget列引用 我是QT新手,只有一点C++经验,正在开发桌面应用程序。_C++_Qt_Qtablewidget - Fatal编程技术网

按名称或别名列出的Qt tableWidget列引用 我是QT新手,只有一点C++经验,正在开发桌面应用程序。

按名称或别名列出的Qt tableWidget列引用 我是QT新手,只有一点C++经验,正在开发桌面应用程序。,c++,qt,qtablewidget,C++,Qt,Qtablewidget,我正在使用tableWidget,我的代码通过(行、列)指针填充单元格。目前这还可以,但我可以看到,如果我需要添加或移动一个列,我将有一段愉快的时间来修复代码中散布的所有指针 是否有一种方法可以使用列号的别名并通过该别名引用单元格?e、 而不是 ui->tableWidget1->setItem(0, 3, new QTableWidgetItem(ui->lblWeight->text())); 能给我点更像的吗 ui->tableWidget1->set

我正在使用tableWidget,我的代码通过(行、列)指针填充单元格。目前这还可以,但我可以看到,如果我需要添加或移动一个列,我将有一段愉快的时间来修复代码中散布的所有指针

是否有一种方法可以使用列号的别名并通过该别名引用单元格?e、 而不是

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 Column
{
    ColumnA = 0,
    ColumnB = 1,
    ColumnC = 2
};

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

这是一个很好的低技术解决方案,谢谢!如何使变量在范围内全局化。我查了一下,不太明白。如果您的Table小部件的实例不超过一个,那么声明一个变量
static
会让您更容易访问。只需注意命名,并跟踪如何以及何时修改变量。