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重新编辑 ]