Magi980 2022-07-06 16:15 采纳率: 71.4%
浏览 46
已结题

如何在tablewidget中对一column进行求和

请问我从txt文件中动态读取数据,在tablewidget中显示,如何对其中一列进行求和

img

这个是我读取文件的代码,提供思路或者代码都可,谢谢

mainbookprocesser::mainbookprocesser(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::mainbookprocesser)
{
    ui->setupUi(this);
    ui->tableWidget->setColumnCount(7);
    QStringList header;
    header<<"书名"<<"作者"<<"出版日期"<<"总数量"<<"单价"<<"在馆数量"<<"类别";
    ui->tableWidget->setHorizontalHeaderLabels(header);
    QFile f("E:\\librarQTUI\\bookdata.txt");
    f.open(QIODevice::ReadOnly|QIODevice::Text);
    QTextStream output(&f);
    QHash<QString,QString> varHash;
    QString lineStr;

    varHash.clear();
    linelist.clear();
    while(!output.atEnd())
    {
        lineStr=output.readLine();
        linelist=lineStr.split("\t");
        int rowCount=ui->tableWidget->rowCount();
        ui->tableWidget->insertRow(rowCount);
        for(int i=0;i<7;i++)
        {
            ui->tableWidget->setItem(rowCount,i,new QTableWidgetItem(linelist[i]));
        }
    }
    f.close();


  • 写回答

2条回答 默认 最新

  • greatofdream 2022-07-06 16:33
    关注
    • 如果你的软件结构将数据和ui分离的话,每次都维护更新数据(建议存一个二维数组),那么直接计算数组对应那一列的内容即可
    • 如果数据被你耦合到ui里了,看起来你确实没有单独更新数据,那么就需要一个个获取table里的数据,按照下面可以获取某一个单元格的内容,注意返回的是string,需要转换类型进行加和
      ui->tableWidget->item(rowCount,i)->text()
      
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 7月21日
  • 已采纳回答 7月13日
  • 创建了问题 7月6日

悬赏问题

  • ¥15 删除虚拟显示器驱动 删除所有 Xorg 配置文件 删除显示器缓存文件 重启系统 可是依旧无法退出虚拟显示器
  • ¥15 vscode程序一直报同样的错,如何解决?
  • ¥15 关于使用unity中遇到的问题
  • ¥15 开放世界如何写线性关卡的用例(类似原神)
  • ¥15 关于并联谐振电磁感应加热
  • ¥60 请查询全国几个煤炭大省近十年的煤炭铁路及公路的货物周转量
  • ¥15 请帮我看看我这道c语言题到底漏了哪种情况吧!
  • ¥66 如何制作支付宝扫码跳转到发红包界面
  • ¥15 pnpm 下载element-plus
  • ¥15 解决编写PyDracula时遇到的问题