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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QVariantList + Custom Type  (Прочитано 2708 раз)
andrew.k
Гость
« : Май 26, 2015, 12:30 »

Имеется собственный тип, который сохраняется в QVariant.
При для списка QVariantList с элементами из этого типа не работает операция сравнения.
То есть для двух одинаковых списков  оператор == возвращает false

Что не так?

Код
C++ (Qt)
#include <QVariant>
#include <QPair>
#include <QString>
#include <QVariantList>
#include <QtDebug>
 
typedef QPair<QString, QVariant> StringVariantPair;
Q_DECLARE_METATYPE(StringVariantPair)
 
QVariantList testList()
{
   QVariantList list;
   QVariant v;
   StringVariantPair p;
   p.first = "option1";
   p.second = 12345;
   v.setValue(p);
   list.append(v);
 
   return list;
}
 
int main()
{
   QVariantList l1, l2;
   l1 = testList();
   l2 = testList();
 
   if(l1 == l2)
       qDebug() << "Equal";
   else
       qDebug() << "Not equal";
   return 0;
}
 
Записан
andrew.k
Гость
« Ответ #1 : Май 26, 2015, 12:35 »

Решение простое
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4727



Просмотр профиля WWW
« Ответ #2 : Май 26, 2015, 14:03 »

вот почему нельзя сначала почитать документацию и погуглить, а только потом лезть на форум?
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
andrew.k
Гость
« Ответ #3 : Май 27, 2015, 20:22 »

вот почему нельзя сначала почитать документацию и погуглить, а только потом лезть на форум?
Потому что параллельные вычисления быстрее работают Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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