gpt4 book ai didi

c++ - 如何将文件中的数据放入 QTable Widget Item 中?

转载 作者:行者123 更新时间:2023-11-30 05:36:55 25 4
gpt4 key购买 nike

我有 Qtable 和名为 input.txt 的文件

我正在尝试通过读取 input.txt 来在 Qtable 小部件上显示数据。

表格有9行9列。我尝试制作一个 QTable 小部件项目并使用 for 循环将数据放入其中。但无法让它工作。

这是我试过的代码

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow){
ui->setupUi(this);
int n = 0;

QTableWidgetItem *item = new QTableWidgetItem;
item->setText(QString("1"));

bool check = false;

while(!check){

for (int row = 0; row < 9; ++row) {
for (int col = 0; col < 9; ++col) {

}

item = new QTableWidgetItem();
item->setText((std::to_string(n)));
ui->tableWidget->setItem(row,col,item);
n++;

if(row ==8 , col ==8){
check = true;
}

}

这只是一个演示,用于检查我是否可以向每个单元格添加数字。

最佳答案

有几件事你必须改变。首先,使用

设置表格的行数和列数
QTableWidget::setColumnCount(int columnCount)
QTableWidget::setRowCount(int rowCount)

然后,为您的迭代使用设置大小总是更安全,以确保您不会“越界”。通过以下方式获取它们:

int QTableWidget::columnCount()
int QTableWidget::rowCount()

最后,要构造 QTableWidgetItem,您必须使用 QString 而不是 std::string(参见 docs)。

这是一个最简单的例子:

QTableWidget* table_widget = new QTableWidget(this);

table_widget->setColumnCount(9);
table_widget->setRowCount(9);

for(int r = 0; r < table_widget->rowCount(); ++r) {
for(int c = 0; c < table_widget->columnCount(); ++c) {
table_widget->setItem(r, c, new QTableWidgetItem(QString::number(r+c)));
}
}

您可能想查看 these tutorials .它们是立即熟悉许多基本功能的绝佳资源。您会找到有关 how to parse files in Qt 的答案也在那里。

编码愉快!

关于c++ - 如何将文件中的数据放入 QTable Widget Item 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33404887/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com