Название: Как сохранять переменную QColor с помощью QSettings? Отправлено: fulkabaster от Февраль 12, 2010, 16:29 Для приложения требуется сохранять переменные типа QColor. У класса QSettings нет метода .toColor(), но в классе QVariant есть такое описание:
Цитировать Because QVariant is part of the QtCore library, it cannot provide conversion functions to data types defined in QtGui, such as QColor, QImage, and QPixmap. In other words, there is no toColor() function. Instead, you can use the QVariant::value() or the qVariantValue() template function. For example: QVariant variant; ... QColor color = variant.value<QColor>(); The inverse conversion (e.g., from QColor to QVariant) is automatic for all data types supported by QVariant, including GUI-related types: QColor color = palette().background().color(); QVariant variant = color; По этому совету я сделал так. В конструкторе: Код
А при закрытии приложения так: Код
Но при запуске приложения цвет всегда оказывается черным, а в командной строке параллельно появляется сообщение (хотя приложение продолжает работать нормально): QColor::setNamedColor: Unknown color name 'true' Подскажите, пожалста, как сэйвить цвета. Название: Re: Как сохранять переменную QColor с помощью QSettings? Отправлено: kuzulis от Февраль 12, 2010, 16:45 Сохраняй по имени цвета , т.е. :
- в сеттингс сохраняеш: QString name () const - из сеттингса читаеш: void setNamedColor ( const QString & name ) т.е. все будет типа QString - PS: а вообще в ассистенте всё расписано Название: Re: Как сохранять переменную QColor с помощью QSettings? Отправлено: fulkabaster от Февраль 12, 2010, 17:21 Спасибо.
Название: Re: Как сохранять переменную QColor с помощью QSettings? Отправлено: lit-uriy от Февраль 12, 2010, 21:01 >>У класса QSettings нет метода .toColor(),
У него и не должно быть такого метода. QSettings всё хранит в виде QVariant Да и твой стиль работы с QSettings заметно отличается от того, что приведён в асистенте. Есть ли объективная причина менять стиль работы? Я бы сделал так: Код Промежуточный "QVariant v" нужен только для отладки/демонстрации Название: Re: Как сохранять переменную QColor с помощью QSettings? Отправлено: ufna от Февраль 12, 2010, 21:25 Код
я делаю так во время считки данных а писать как обычно |