Russian Qt Forum
Ноябрь 24, 2024, 20:40 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: последний элемент дерева xml  (Прочитано 3328 раз)
nvek
Гость
« : Февраль 06, 2017, 11:08 »

надо мене иконку на него повесить другу
например
<node name = "">
 <node name = "">
 </node>
</node>
делаю так:
Код:
void StatTree::readNode(QTreeWidgetItem* item)
{
Q_ASSERT(xmlReader.isStartElement() && xmlReader.name() == "Node");

QTreeWidgetItem *node = createChildItem(item);
node->setText(0, xmlReader.attributes().value("name").toString());


if(!xmlReader.tokenType() == QXmlStreamReader::EndElement)
node->setIcon(0, *treeNode);
else
node->setIcon(0, *folderNode);


while (xmlReader.readNextStartElement())
{
if (xmlReader.name() == "Node")
{
readNode(node);
}
else
xmlReader.skipCurrentElement();
}
}
иконки одинаковые
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Февраль 06, 2017, 11:16 »

Код
C++ (Qt)
if(!xmlReader.tokenType() == QXmlStreamReader::EndElement)
 

1. Почитай про приоритеты логических операций.
2. У тебя tokenType() никогда не будет QXmlStreamReader::EndElement.
3. Что ты хочешь сделать? Чтобы если есть дети была одна иконка, а если детей нет, то другая?
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
nvek
Гость
« Ответ #2 : Февраль 06, 2017, 11:22 »

ну да
Записан
nvek
Гость
« Ответ #3 : Февраль 08, 2017, 08:33 »

сделал так Веселый икон тут перересовывается
Код:
node->setIcon(0, *treeNode);

//рекурсия
while (xmlReader.readNextStartElement())
{
if (xmlReader.name() == "Node")
{
node->setIcon(0, *folderNode);
readNode(node);
}
else
xmlReader.skipCurrentElement();
}
не оптимально,Но зато работает
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.125 секунд. Запросов: 23.