답변:
int i = 42;
QString s = QString::number(i);
그리고 텍스트 컨텍스트 내에서 문자열에 넣으려면 +
연산자를 잊어 버리십시오 . 간단히 :
// Qt 5 + C++11
auto i = 13;
auto printable = QStringLiteral("My magic number is %1. That's all!").arg(i);
// Qt 5
int i = 13;
QString printable = QStringLiteral("My magic number is %1. That's all!").arg(i);
// Qt 4
int i = 13;
QString printable = QString::fromLatin1("My magic number is %1. That's all!").arg(i);
+
운영자,주의 주위 정수, 그것은 아주 잘 내부적으로 작동하지만 수 있으므로를의 operator+(const QString &s, char c)
구현이라고하며, 문자열 수 있지만 같은 정수가 포함 못해 QChar::fromAscii(c)
해당
또 다른 옵션은 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()
string
가장 간단한 형태로 Georg Fritzsche 의 답변을 사용하십시오.
조금 발전된 경우에는 이것을 사용할 수 있습니다.
QString QString::arg ( int a, int fieldWidth = 0, int base = 10, const QChar & fillChar = QLatin1Char( ' ' ) ) const
문서 및 예제 받기 여기를 ...