QTableWIdget有控件时关于删除一行再添加一行时报错的问题(removeRow&insertRow)

今天做公司项目,想写个动态添加删除表格,表格里涉及到控件,我是先初始化好我需要的控件,然后动态添加到表格中,当我用removeRow删除一行后再添加的时候发现程序运行异常退出了,经过检查发现初始化的控件添加到表格里后通过removeRow删除并不会删除该控件被放在表格里,需要重新初始化`void DlgParameter::slot_add()
{
//m_pTabWidgt->setRowCount(10);
int m_row = m_pTabWidgt->rowCount();
qDebug()<<“m_row”<<m_row;
if(m_row<16)
{

    qDebug()<<"m_row++"<<m_row;
   //m_pTabWidgt->setRowCount(10);
   m_pTabWidgt->insertRow(m_row);

   m_pStarTimeEdit[m_row] = new QDateTimeEdit;           // 16个开始时间框
   m_pStarTimeEdit[m_row]->setDisplayFormat("hh:mm:ss");
  // m_pStarTimeEdit[i]->setFixedSize(90,30);
   m_pEndTimeEdit[m_row] = new QDateTimeEdit;           // 16个结束时间框
   m_pEndTimeEdit[m_row]->setDisplayFormat("hh:mm:ss");
   //m_pEndTimeEdit[i]->setFixedSize(90,30);
   m_pComBoxSamp[m_row]  = new QComboBox;

// m_pComBoxSamp[i]->setFixedSize(60,30);
// m_pComBoxSamp[i]->setBackgroundRole(QBrush(0,0,0));
m_pComBoxSamp[m_row]->addItem(“16K”,16);
m_pComBoxSamp[m_row]->addItem(“32K”,32);
m_pComBoxSamp[m_row]->addItem(“64K”,64);
m_pComBoxSamp[m_row]->addItem(“128K”,128);
m_pSpinBoxGain[m_row] = new QSpinBox;
//m_pSpinBoxGain[i]->setFixedSize(60,30);
m_pBtnSet[m_row] = new QPushButton(“设置”); // 16个设置按钮
// m_pBtnSet[i]->setFixedSize(60,30);
m_pLbelTime[m_row] = new QLabel(QStringLiteral(“时间段%1:”).arg(m_row+1)); // 16个时间段标签
m_pLbelTime[m_row]->setAlignment(Qt::AlignHCenter|Qt::AlignVCenter);
m_pTabWidgt->setCellWidget(m_row,0,m_pLbelTime[m_row]);
m_pTabWidgt->setCellWidget(m_row,1,m_pStarTimeEdit[m_row]);
m_pTabWidgt->setCellWidget(m_row,2,m_pEndTimeEdit[m_row]);
m_pTabWidgt->setCellWidget(m_row,3,m_pComBoxSamp[m_row]);
m_pTabWidgt->setCellWidget(m_row,4,m_pSpinBoxGain[m_row]);
m_pTabWidgt->setCellWidget(m_row,5,m_pBtnSet[m_row]);
}
}`
void DlgParameter::slot_del()
{

int m_row = m_pTabWidgt->rowCount();
// int m_currentRow = m_pTabWidgt->currentRow();
// qDebug()<<“slot_delTime::m_row”<<m_row;
// qDebug()<<“slot_delTime::m_currentRow”<<m_currentRow;
if(m_row>1)
{
// if(m_currentRow!=-1)
// {
m_pTabWidgt->removeRow(m_row-1);
m_pTabWidgt->setCurrentItem(NULL);
// }

  qDebug()<<"1";

}
}
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值