Russian Qt Forum

Qt => Общие вопросы => Тема начата: -=QT=- от Июль 13, 2007, 12:00



Название: QVariant::toFont() кто как конвертит ?
Отправлено: -=QT=- от Июль 13, 2007, 12:00
Linux - QT 4.2.3
------------------
QVariant::toFont() - отсутствует.
В настройках (QSettings) он сохраняет QFont как QVariant, а при считывании нет конвертера (в версии 3.х - был).
------------------
Кто как обходит отсутствие конвертирования из варианта в различные типы, та как кроме этого есть еще много таких типов в которые отсутствует конвертер.


Название: QVariant::toFont() кто как конвертит ?
Отправлено: Emc от Июль 13, 2007, 12:04
работать с QString
у QFont есть toString/fromString


Название: QVariant::toFont() кто как конвертит ?
Отправлено: -=QT=- от Июль 13, 2007, 12:14
Linux - QT 4.2.3
------------------
QVariant::toFont() - отсутствует.
В настройках (QSettings) он сохраняет QFont как QVariant, а при считывании нет конвертера (в версии 3.х - был).
------------------
Кто как обходит отсутствие конвертирования из варианта в различные типы, та как кроме этого есть еще много таких типов в которые отсутствует конвертер.

добавлено спустя 1 минуту:

 
Цитата: "Emc"
работать с QString
у QFont есть toString/fromString


Это понятно, другой вариант должен тоже быть.
Я вот никогда не сталкивался с приведением типов - может это то что нужно


Название: QVariant::toFont() кто как конвертит ?
Отправлено: Emc от Июль 13, 2007, 12:49
смотри документацию по
bool QVariant::canConvert ( Type t ) const
там табличка в ней видно что QFont можно получить только через QString


Название: QVariant::toFont() кто как конвертит ?
Отправлено: Racheengel от Июль 13, 2007, 13:03
Для конвертирования см. также qvariant_cast<type>(QVariant v);


Название: QVariant::toFont() кто как конвертит ?
Отправлено: -=QT=- от Июль 13, 2007, 14:56
Цитата: "Racheengel"
Для конвертирования см. также qvariant_cast<type>(QVariant v);


Да да да .....
Я как раз это хотел впихнуть но он ошибку выдал.
Как и положено после этого я полез читать документацию и ...

Код:
T qvariant_cast ( const QVariant & value )
Returns the given value converted to the template type T.
This function is equivalent to qVariantValue().


а примера нету  :?  вот  :roll:

добавлено спустя 4 минуты:

 А вот это я слабал:
QFont myFont qvariant_cast( QmySettings::value( _VALNAME_SETFONT, myFont) );
вот он ругается, а где <const> ?

добавлено спустя 1 минуту:

 вот я и застрял на этом.
Где искать - люди помогите .....

добавлено спустя 11 минут:

 Аааааааааа...................
ламер я последний вот:

Код:
myFont = qvariant_cast<QFont>( QmySettings::value( _VALNAME_SETFONT, myFont) );


Фсё работает.... однако  :D  :)  :wink: