On 29/12/2011, at 1:22 AM, ext Harri Pasanen wrote:
> I wrote my custom QML type, using Qt 4.7.4.
> It is working just fine, except when I run using it I keep getting 
> messages like:
> 
> QColor::setNamedColor: Unknown color name 'mpaja.lvl'
> 
> 
> Comes from here:
> 
> 
> void QColor::setNamedColor(const QString &name)
> {
> if (!setColorFromString(name))
> qWarning("QColor::setNamedColor: Unknown color name '%s'", 
> name.toLatin1().constData());
> }
> 
> 
> I traced it a bit, and it seems to be triggered from
> 
> QVariant QDeclarativeStringConverters::variantFromString(const QString &s)
> {
>     if (s.isEmpty())
>         return QVariant(s);
>     bool ok = false;
>     QRectF r = rectFFromString(s, &ok);
>     if (ok) return QVariant(r);
>     QColor c = colorFromString(s, &ok); <<<===  Here
>     if (ok) return QVariant(c);
>     QPointF p = pointFFromString(s, &ok);
>     if (ok) return QVariant(p);
>     QSizeF sz = sizeFFromString(s, &ok);
>     if (ok) return QVariant(sz);
>     QVector3D v = vector3DFromString(s, &ok);
>     if (ok) return qVariantFromValue(v);
> 
>     return QVariant(s);
> }
> 
> I'm guessing that when ever a parameter is passed from QML to C++ it 
> gets converted to QVariant, which makes a best guess at the underlying type.
> 
> But I'm a bit puzzled why only some of the strings elicit this warning.
> 
> My custom type looks like:
> 
> Spoke { name: "MPaja"; value: "mpaja.lvl" }
> 
> and I'm getting a warning for each "value:", but not for "name:"
> 
> Is there some naming convention or other method that I should be aware 
> off to avoid this needless warning?

Hi Harri,

This issue should be fixed for 4.8 
(https://bugreports.qt.nokia.com/browse/QTBUG-19098), if you are able to switch 
to that. For 4.7.4 the only way I know of to work around it is to make things 
more strongly typed when possible -- e.g. in your above example, if the "value" 
property can be of type QString (or QUrl, etc) rather than QVariant, you should 
be able to avoid the warning.

Regards,
Michael
_______________________________________________
Qt-qml mailing list
[email protected]
http://lists.qt.nokia.com/mailman/listinfo/qt-qml

Reply via email to