s.xbatob писал: ↑16.08.2019 20:02
Settings -- это что за класс? В Qt такого нет, есть QSettings.
Вполне возможно, это класс созданный разработчиком этой программы.
Я сначала подумал, что вообще можно использовать
tryLoadValue, но потом увидел, что эта функция определена чуть выше.
Возможно и Settings где-то определён
Я в QtCreator смотрел список, что может быть кроме
toInt и
toUInt, но ничего подходящего (на мой взгляд) не увидел.
Посмотрел. Но там, по-моему,
number -- это наоборот, преобразование в строку. А мне нужно из строки.
Но я там нашёл
Код: Выделить всё
uint QString::toUInt(bool *ok = nullptr, int base = 10) const
В понедельник попробую, указав в качестве
base 0 (по аналогии с
strtol)
ormorph писал(а): ↑16.08.2019 20:38
color имеет тип int либо
unsigned int судя по всему.
Именно
unsigned int. То есть там много вариантов. Можно задать через 3 или 4 параметра RGBA. Но заводить по три переменные, а потом ещё по три строки в ini файле как-то не хочется.
ormorph писал(а): ↑16.08.2019 20:38
нужно конвертировать строку вида 0x50B0 в int.
Похоже что так.
Только тут скорее всего придется использовать промежуточную переменную string или QString.
У меня была такая мысль. Получить строку в s, а потом через
color=strtol(s,NULL,0). Но не смог быстро сообразить, как преобразовать string (или QString) в char *.
Проблема ещё в том, что основной разработчик (который хорошо знает Qt) в отпуске.
А пока буду задавать цвет в виде десятичного числа.
devilr писал(а): ↑16.08.2019 20:58
Код: Выделить всё
QString str = "FF";
bool ok;
int hex = str.toInt(&ok, 16);
Так не пойдёт?
Наверно пойдёт. Проверю в понедельник. Особенно, если задать
toUInt(&ok,0)
У меня была мысль, что можно в toUInt задать базу. Но qtcreator подсказал в качестве параметров toUInt только &ok.
В крайнем случае напишу свою функцию получения значения из ini-файла