• 4973阅读
  • 5回复

关于QTableWidget添加行列后 [复制链接]

上一主题 下一主题
离线清晨
 

只看楼主 倒序阅读 楼主  发表于: 2013-09-02
我QTableWidget添加行或列后insertRow、insertColumn    读取QTableWidget的总行列是有变化  但我给新行添加值ui->tableTW->item(0,ui->tableTW->columnCount()-1)->setText("ds");或者获取新行的表头值ui->tableTW->horizontalHeaderItem(ui->tableTW->columnCount()-1)->text();都会使程序停止运行 请问这到底是怎么回事呃?
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线bingyifeng

只看该作者 1楼 发表于: 2013-09-02
应该是新加个item指针为空了吧。

insertrow之后,貌似还要
   QTableWidgetItem *newItem = new QTableWidgetItem(tr("%1").arg(
        (row+1)*(column+1)));
    tableWidget->setItem(row, column, newItem);
<span style="color:blue ">淘宝,绿石斋</span> <a href="http://shop33295817.taobao.com“> <span style="color:blue ">各种水晶饰品,手链,项链 </span></a>
离线labhome

只看该作者 2楼 发表于: 2013-09-02
楼上正解
离线清晨

只看该作者 3楼 发表于: 2013-09-02
回 1楼(bingyifeng) 的帖子
int oldRowsCount = ui->tableTW->rowCount();
        int oldColsCount = ui->tableTW->columnCount();
        
        ui->tableTW->insertRow(ui->tableTW->rowCount()-1);
        ui->tableTW->insertColumn(ui->tableTW->columnCount());

        for(int i = oldRowsCount; i < ui->tableTW->rowCount(); i++)
        {
            for(int j = oldColsCount; j < ui->tableTW->columnCount(); j++)
            {
                QTableWidgetItem *newItem = new QTableWidgetItem(tr("%1").arg(
                                (i+1)*(j+1)));
                ui->tableTW->setItem(i+1, j+1, newItem);
            }
        }
        ui->tableTW->item(0,ui->tableTW->columnCount()-1)->setText("dsd");

这样也不行  麻烦帮我看看哪儿错了
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线清晨

只看该作者 4楼 发表于: 2013-09-02
谢谢 已解决。
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线ablo0507

只看该作者 5楼 发表于: 2014-01-21
回 4楼(清晨) 的帖子
怎么解决的?
快速回复
限100 字节
 
上一个 下一个