Разработка метода C++, который принимает аргументы с переменным числом, переданные из QtScript

Я изучаю QtScript и написал несколько тривиальных примеров. Отображение будет простым, если я ограничу аргументы простыми типами.

Теперь я хочу иметь возможность передавать переменное число аргументов из QtScript в класс C++, например:

Myobject.add(1, 2, 3, "4444");
Myobject.add( {first:1, second:2, third:333} );

Как объявить метод в C++ реализовать?

1 ответ

Быстрый поиск предлагает вам использовать QVariantList:

void Myobject::add(QVariantList& l)
{
    for( QVariantList::const_iterator i(l.begin()); i != l.end(); ++i ) {
        QVariant elem(*i);
        if( elem.canConvert<QVariantMap>() ) {
            // ...
        }
    }
}

У меня нет инструментов, чтобы проверить это прямо сейчас.

Другие вопросы по тегам