c++写一个qtablewidget添加行数据的通用函数
时间: 2023-12-14 07:36:24 浏览: 38
下面是一个通用的函数,用于在 QTableWidget 中添加一行数据:
```c++
void addRowData(QTableWidget* table, const QVector<QString>& rowData) {
int row = table->rowCount(); // 获取当前表格的行数
table->insertRow(row); // 插入一行
for (int i = 0; i < rowData.size(); ++i) {
QTableWidgetItem* item = new QTableWidgetItem(rowData[i]); // 创建一个新的 QTableWidgetItem
table->setItem(row, i, item); // 设置表格项
}
}
```
使用方法:
```c++
QTableWidget* table = new QTableWidget();
table->setColumnCount(3); // 设置列数为 3
// 添加一行数据
QVector<QString> rowData = {"Name", "Age", "Gender"};
addRowData(table, rowData);
```
注意:使用此函数前需要先设置表格的列数。
相关问题
qt写一个添加qtablewidget行数据的通用函数
可以写一个如下的通用函数来添加 `QTableWidget` 的行数据:
```cpp
void addRowToTableWidget(QTableWidget* tableWidget, const QList<QVariant>& rowData)
{
int row = tableWidget->rowCount();
tableWidget->insertRow(row);
for(int i=0; i<rowData.count(); i++)
{
QTableWidgetItem *item = new QTableWidgetItem(rowData.at(i).toString());
tableWidget->setItem(row, i, item);
}
}
```
使用方法如下:
```cpp
// 创建一个 QTableWidget 对象
QTableWidget *myTableWidget = new QTableWidget();
// 插入表头
myTableWidget->setColumnCount(3);
myTableWidget->setHorizontalHeaderLabels(QStringList() << "Name" << "Age" << "Country");
// 添加数据行
QList<QVariant> rowData;
rowData << "Tom" << 20 << "USA";
addRowToTableWidget(myTableWidget, rowData);
rowData.clear();
rowData << "Lucy" << 25 << "Canada";
addRowToTableWidget(myTableWidget, rowData);
// 显示 QTableWidget
myTableWidget->show();
```
这样就可以往表格中添加数据行了。
qt写一个添加qtablewidget行数据的通用方法
以下是一个添加 `QTableWidget` 行数据的通用方法的示例代码:
```cpp
void addRowData(QTableWidget* tableWidget, const QStringList& rowData)
{
int row = tableWidget->rowCount();
tableWidget->insertRow(row);
for(int column = 0; column < rowData.size(); ++column) {
QTableWidgetItem* item = new QTableWidgetItem(rowData.at(column));
tableWidget->setItem(row, column, item);
}
}
```
使用示例:
```cpp
// 创建一个 QTableWidget 对象
QTableWidget* tableWidget = new QTableWidget;
tableWidget->setColumnCount(3);
tableWidget->setHorizontalHeaderLabels(QStringList() << "Name" << "Age" << "Gender");
// 添加一行数据
QStringList rowData1 = {"Tom", "25", "Male"};
addRowData(tableWidget, rowData1);
// 添加另一行数据
QStringList rowData2 = {"Lucy", "22", "Female"};
addRowData(tableWidget, rowData2);
```
这个方法将会在 `QTableWidget` 对象的最后一行添加一行数据,每一列的数据将会从 `rowData` 参数中获取。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)