问题遇到的现象和发生背景
程序在首次运行到修改QStandardItem的内容时会报问题
问题相关代码,请勿粘贴截图
AI_TableView = new QTableView(this); ///< 模拟输入
AI_TableView->setEditTriggers(QAbstractItemView::NoEditTriggers); ///< 表格不可编辑
AI_TableView->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); ///< 固定列表的宽度,自动填充大小
AI_Model = new QStandardItemModel(this); ///< 设置AI采集的数据模型
AI_Model->setColumnCount(2); ///< 模型有2列
AI_Model->setHeaderData(0,Qt::Horizontal,"输入电压");
AI_Model->setHeaderData(1,Qt::Horizontal,"对应值");
AI_Model->setRowCount(8); ///< 模型有8行
AI_Model->setHeaderData(0,Qt::Vertical,"WY_1");
AI_Model->setHeaderData(1,Qt::Vertical,"WY_2");
AI_Model->setHeaderData(2,Qt::Vertical,"WY_3");
AI_Model->setHeaderData(3,Qt::Vertical,"T_1");
AI_Model->setHeaderData(4,Qt::Vertical,"T_2");
AI_Model->setHeaderData(5,Qt::Vertical,"YL_1");
AI_Model->setHeaderData(6,Qt::Vertical,"YL_2");
AI_Model->setHeaderData(7,Qt::Vertical,"YL_3");
for(int i = 0; i < 8; i++)
{
for(int j = 0; j < 2; j++)
{
AI_Model->setItem(i,j,new QStandardItem("0.000"));
}
}
AI_TableView->setModel(AI_Model);
// AI_Model->setData(AI_Model->index(i,0),5.1);
// AI_Model->setData(AI_Model->index(i,1),10.1);
AI_Model->item(i,0)->setText("3.3");
AI_Model->item(i,1)->setText("5.5");
// AI_Model->item(i,0)->setAccessibleText(QString("%1").arg(data->DeviceStatus_ArmToPcData.AD7606[i]));
// AI_Model->item(i,1)->setAccessibleText(QString("%1").arg(data->DeviceStatus_ArmToPcData.AD_Val[i]));
我的解答思路和尝试过的方法
我这里尝试了上边的3种方式,在改变时都发生了同样的错误,在程序运行一段时候后,出现过下面这种错误