利用c++怎么接收未知数目的数据并将他们共同填入到tablewidget指定的方格
时间: 2024-05-06 21:15:07 浏览: 17
可以使用可变参数模板来接收未知数目的数据,并使用 `setItem` 函数将它们填入到 `QTableWidget` 指定的方格中。
以下是一个示例代码:
```cpp
#include <iostream>
#include <string>
#include <vector>
#include <QApplication>
#include <QTableWidget>
#include <QTableWidgetItem>
// 使用可变参数模板接收未知数目的数据
template <typename... Args>
void setTableWidgetItems(QTableWidget* table, int row, int column, Args... args)
{
// 将数据存储到一个 vector 中
std::vector<std::string> items{ std::to_string(args)... };
// 遍历 vector,并将数据填入指定的方格
int i = 0;
for (auto& item : items)
{
QTableWidgetItem* newItem = new QTableWidgetItem(QString::fromStdString(item));
table->setItem(row, column + i, newItem);
i++;
}
}
int main(int argc, char* argv[])
{
QApplication app(argc, argv);
// 创建一个 3x3 的 QTableWidget
QTableWidget table(3, 3);
table.show();
// 填入数据
setTableWidgetItems(&table, 0, 0, 1, 2, 3);
setTableWidgetItems(&table, 1, 0, "a", "b", "c", "d");
setTableWidgetItems(&table, 2, 1, 1.1, 2.2, 3.3, 4.4, 5.5);
return app.exec();
}
```
在上面的示例代码中,我们定义了一个 `setTableWidgetItems` 函数,它使用可变参数模板来接收未知数目的数据,并使用 `QTableWidgetItem` 类来创建新的表项,最后将它们填入到 `QTableWidget` 指定的方格中。
在 `main` 函数中,我们创建了一个 3x3 的 `QTableWidget`,并使用 `setTableWidgetItems` 函数将数据填入到不同的方格中。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)