如何将数据放入文件中的QTable Widget项?

时间:2015-10-29 02:21:05

标签: c++ qt qtablewidget istream qtablewidgetitem

我有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;
    }

}

}

这只是一个演示来检查我是否可以为每个单元格添加数字。

1 个答案:

答案 0 :(得分:1)

有一些事情需要改变。首先,使用

设置表的行数和列数
append

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

QTableWidget::setColumnCount(int columnCount)
QTableWidget::setRowCount(int rowCount)

最后要构建int QTableWidget::columnCount() int QTableWidget::rowCount() ,您必须使用QTableWidgetItem而不是QString(请参阅docs)。

以下是您的最低范例:

std::string

您可能想查看these tutorials。它们是一个很好的资源,可以立即熟悉许多基本功能。你也可以在那里找到关于how to parse files in Qt的答案。

快乐的编码!