Название: Как превратить QList<int> в QString Отправлено: White Owl от Март 03, 2009, 19:33 Мне почему-то кажется, что задача превращения QList<T> в строку достоточно частая и неоднократно решавшаяся.
Но единственный метод решения который я вижу это самому вручную делать цикл. Есть более короткие решения? Название: Re: Как превратить QList<int> в QString Отправлено: spirit от Март 03, 2009, 19:41 есть метод join, но он только в QStringList, а так придется самому, в цикле.
Название: Re: Как превратить QList<int> в QString Отправлено: Dendy от Март 03, 2009, 20:59 Не ясно по какому критерию превращать список в строку, боюсь задача неоднозначная.
Название: Re: Как превратить QList<int> в QString Отправлено: Rcus от Март 03, 2009, 21:19 Ну впринципе можно взять немного синтаксического сахара функторов и boost::bind и сделать общую реализацию, но это будет overkill
Название: Re: Как превратить QList<int> в QString Отправлено: White Owl от Март 03, 2009, 23:34 Не ясно по какому критерию превращать список в строку, боюсь задача неоднозначная. А что там неоднозначного? Перечислить все элементы списка через разделитель. Есть еще варианты?Самое краткое по коду что придумалось: Код: QList<int> intList; Код: foreach(someClass *obj, listOfObjects) sl << obj->toString(); Название: Re: Как превратить QList<int> в QString Отправлено: ритт от Март 03, 2009, 23:36 QString("%1").arg(n) :)
Название: Re: Как превратить QList<int> в QString Отправлено: White Owl от Март 04, 2009, 00:38 QString("%1").arg(n) :) ээээ?Название: Re: Как превратить QList<int> в QString Отправлено: ритт от Март 04, 2009, 02:24 QString::number(n)
Название: Re: Как превратить QList<int> в QString Отправлено: White Owl от Март 04, 2009, 23:35 У QString нету метода number(), есть setNum().
Впрочем, для основной задачи это не критично. Код: QList<int> intList; Название: Re: Как превратить QList<int> в QString Отправлено: ритт от Март 05, 2009, 00:34 Цитировать QString QString::number ( long n, int base = 10 ) [static] Returns a string equivalent of the number n according to the specified base. The base is 10 by default and must be between 2 and 36. For bases other than 10, n is treated as an unsigned integer. Код: long a = 63; разделять числа в строке запятыми - не есть гут. вспомните любимый разделитель чисел для *.ru_RU зы. в русском языке нет слова "нету" |