Название: Форматирование текста в QString Отправлено: Пантер от Август 26, 2009, 18:15 Нужно выводить форматированный текст на принтер или монитор. Форматирование под собой подразумевает текст в 3 колонки, т.е. что-то типа
Код: Зарплата 3500р. 01/2009 QString("%1 %2р. %3").arg(str0, 20).arg(value0, 5).arg(date0, 7) Но получается вот так Код: Зарплата 3500р. 01/2009 Название: Re: Форматирование текста в QString Отправлено: Rcus от Август 26, 2009, 18:18 Цитировать QString QString::arg ( const QString & a, int fieldWidth = 0, const QChar & fillChar = QLatin1Char( ' ' ) ) const А желаемого лучше добиваться другими методами, например таблицами без границ.Returns a copy of this string with the lowest numbered place marker replaced by string a, i.e., %1, %2, ..., %99. fieldWidth specifies the minimum amount of space that argument a shall occupy. If a requires less space than fieldWidth, it is padded to fieldWidth with character fillChar. A positive fieldWidth produces right-aligned text. A negative fieldWidth produces left-aligned text. Название: Re: Форматирование текста в QString Отправлено: Пантер от Август 26, 2009, 18:28 Не канает. Нужен вывод напрямую на принтер, т.е. через std::ofstream, так что хтмл не катит.
Название: Re: Форматирование текста в QString Отправлено: crackedmind от Август 27, 2009, 04:17 Код: QString value0 = "200 rub"; Вывод: "vacation pay 200 rub 01/2009" "salary 3500 rub 02/2009" правда, желаемый результат получится, только с моноширенным шрифтом Название: Re: Форматирование текста в QString Отправлено: SASA от Август 27, 2009, 12:04 Попробуй фориатировать табами.
Код: QString("%1 \t\t\t %2 \t %3") Название: Re: Форматирование текста в QString Отправлено: Авварон от Август 27, 2009, 12:35 а разве QString.printf не работает как обычный принтф? там это делалось через %10d - вывести %d в 10 символах (если не вру)
Название: Re: Форматирование текста в QString Отправлено: crackedmind от Август 27, 2009, 13:20 Какой еще printf? может sprintf? Но там же вся проблема в том что на вход подается Ascii символы, а не юникод.
Название: Re: Форматирование текста в QString Отправлено: denka от Август 27, 2009, 13:28 Цитировать QString & QString::sprintf ( const char * cformat, ... ) Safely builds a formatted string from the format string cformat and an arbitrary list of arguments. The %lc escape sequence expects a unicode character of type ushort (as returned by QChar::unicode()). The %ls escape sequence expects a pointer to a zero-terminated array of unicode characters of type ushort (as returned by QString::utf16()). Note: This function expects a UTF-8 string for %s. О каком входе идет речь? :) |