Еще один вариант - использовать QTextStream и оператор <<
почти так же, как вы бы использовали cout
в C ++:
QPoint point(5,1);
QString str;
QTextStream(&str) << "Mouse click: (" << point.x() << ", " << point.y() << ").";
// OUTPUT:
// Mouse click: (5, 1).
Поскольку оператор <<()
был перегружен, вы можете использовать его для нескольких типов, а не только для int
. QString::arg()
перегружен, например, arg(int a1, int a2)
, но arg(int a1, QString a2)
отсутствует, поэтому использование QTextStream()
и оператора <<
удобно при форматировании длинных строк со смешанными типами.
Предупреждение: Возможно, у вас возникнет соблазн использовать средство sprintf()
для имитации операторов в стиле C printf()
, но рекомендуется использовать QTextStream
или arg()
, поскольку они поддерживают Unicode string
s.