2016-03-09 64 views
1

我是Qt的新手,只有一點C++經驗,並且正在開發桌面應用程序。Qt tableWidget列參考名稱或別名

我正在使用tableWidget,我的代碼通過(行,列)指針填充單元格。目前這還行,但我可以看到,如果我需要添加或移動一個列,我將有一個愉快的時間修復所有通過我的代碼散佈的指針。

有沒有辦法使用列號的別名,並通過這個別名引用單元格?例如,而不是

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

可能我有更多的東西一樣

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

其中 「colWeight」 已被分配到第3列?

回答

2

如果別名沒有在運行時改變,我會用一個枚舉而不是一個變量。

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

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

使用colWeight爲一個變量:

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

這是一個很好的低科技解決方案,謝謝!我如何使變量在全局範圍內變化。我正在查看,並不太明白。 – Transistor

+0

如果您不會有多個yourtable小部件的實例,則聲明一個變量'static'可以讓您更輕鬆地訪問。只要注意命名並記錄如何以及何時修改變量。 – mrLucius