使用Qtoolbox的时候,使用additem添加若干个Widget并把Widget保存到容器中,然后使用removeitem逐个清除Qtoolbox的item,再次把容器中的Widget add到Qtoolbox的时候就报错了。哪位大神知道是啥原因么?
示例代码如下:
QMap::const_iterator iu;
QMap<QString, QTableWidget*> m_iu;
for(int t =0; t < 2; t++)
{
QTableWidget *table = new QTableWidget;
m_iu.insert(QString::number(t, 10), table);
}
//容器数据item add到toolbox
for (iu = m_iu.constBegin(); iu != m_iu.constEnd(); ++iu)
{
QTableWidget *table = iu.value();
ui->toolBox->addItem(table, iu.key());
}
//清除toolbox所有Item数据
while(0 < ui->toolBox->count())
{
ui->toolBox->removeItem(0);
}
//再次把容器数据item add到toolbox
for (iu = m_iu.constBegin(); iu != m_iu.constEnd(); ++iu)
{
QTableWidget *table = iu.value();
ui->toolBox->addItem(table, iu.key()); //报错语句
}