Название: QVariant::toBool() не работает как надо Отправлено: RomiX от Апрель 12, 2011, 19:17 написал простенький парсер для настроек хранящихся в вот таком виде:
can_edit=0\n can_add=1\n ... код: Код: QStringList list = text.split("\n"); пробовал писать и просто 0 и false результат один - true Название: Re: QVariant::toBool() не работает как надо Отправлено: GreatSnake от Апрель 12, 2011, 20:44 Почитайте внимательно назначение класса QVariant:
Цитировать The QVariant class acts like a union for the most common Qt data types. т.е. он используется для хранения, а не для конвертации из одного типа в другой.Цитировать написал простенький парсер для настроек хранящихся в вот таком виде: А чем не устроил QSettings?Название: Re: QVariant::toBool() не работает как надо Отправлено: RomiX от Апрель 12, 2011, 20:50 под настройками имел ввиду права доступа пользователей, они должны хранится и загружаться из бд, думал что если использую QVariant то в последствии если понадобится хранить дату, время и пр. не нужно будет делать ничего лишнего
Название: Re: QVariant::toBool() не работает как надо Отправлено: zenden от Апрель 12, 2011, 20:59 RomiX
Я подозреваю, что БД может возвращать текст, содержащий помимо возврата строки ещё и перенос каретки "\r\n". Поэтому советую написать: Код
вместо QVariant(params[1]).toBool() а еще пишите QStringList list = text.split("\n", QString::SkipEmptyParts); иначе ваш код вылетает с ошибкой "ASSERT failure in QList<T>::operator[]: "index out of range"" Название: Re: QVariant::toBool() не работает как надо Отправлено: RomiX от Апрель 13, 2011, 16:55 точно! \r\n всё работает спс
|