QHashIterator<QByteArray,QTreeWidgetItem *> relate(hash);
if(Tag_data.at(all+4) > 0)
{
Tag_name = Tag_data.mid((all + 12),12);
unsigned char temp =Tag_data.at((all + 5));
percent = temp*100/255;
all = all + Tag_data.at(all +2)-1;
if(hash.isEmpty())
{
hash.insert(Tag_name.toHex(),Tag_N1);
Tag_N1 = new QTreeWidgetItem(tree,QStringList(Tag_name.toHex()));
// tree->openPersistentEditor(Tag_N1,1);
// value = percent;
Tag_N1->setText(1,QString::number(percent)+"%");
}
int size = 1;
while (relate.hasNext())
{
relate.next();
if(relate.key() == Tag_name.toHex())
{
// relate.value()->setText(1,QString::number(percent)+"%");
// value = percent;
// tree->openPersistentEditor(relate.value(),1);
qDebug() << relate.value();
break;
}
if(relate.key() != Tag_name.toHex())
{
if(hash.size() == size)
{
hash.insert(Tag_name.toHex(),Tag_N1);
Tag_N1 = new QTreeWidgetItem(tree,QStringList(relate.key()));
// tree->openPersistentEditor(Tag_N1,1);
// value = percent;
Tag_N1->setText(1,QString::number(percent)+"%");
}
}size++;
}代码如上。我是比较0列,跟新第1列,可是一到relate.value()->setText(1,QString::number(percent)+"%"); 这句的时候就
出错,求解。这句是当0列相同的时候跟新第1列!高手指点下,在线等!
[ 此帖被aishang在2011-03-28 19:04重新编辑 ]