1. 转换:

  • QString -> char *:
  1. QString str = "Welcome";
  2. QByteArray ba = str.toLocal8Bit();
  3. const char *pstr = ba.data();
  • char * -> QString:
  1. str = QString::asprintf("%s to the %s", pstr, "future!");
  2. cout << str.toStdString() << endl;
  • QString -> QByteArray:

    • toLocal8Bit():

      1. QString str = "ABCD";
      2. QByteArray btArray = str.toLocal8Bit();
    • toUtf8():

      1. QString str = "ABCD";
      2. QByteArray btArray = str.toUtf8();
  • QByteArray -> QString:

    • QString():
      1. QByteArray btArray = ....;
      2. QString str = QString(btArray);
  • QByteArray -> char *:

    • data():
      1. QByteArray btArray = ....;
      2. char *pstr = btArray.data();
  • char * -> QByteArray:

    • QByteArray():
      1. char *buf = "abcd";
      2. int buf_len = 4;
      3. QByteArray btArray = QByteArray((char *)buf, buf_len);
  • **char -> QString:

    • QString::asprintf:
      1. char *pstr = "hello";
      2. QString str = QString::asprintf("%s", pstr);
  • QString -> std::string:

    • toStdString:
      1. QString str = "Welcome";
      2. std::string s = str.toStdString();

2. 追加(+,append,arg,asprintf):

  • +:
  1. QString str = "hello ";
  2. str = str + " world";
  • append:
  1. QString str = "hello ";
  2. str.append(" world!");
  • arg:
  1. QString str;
  2. str = QString("I bounght %1 pounds of %2 apples.").arg(10).arg("red");
  • asprintf:
  1. QString str;
  2. str = str.asprintf("%s", "Welcome");
  3. QByteArray ba = str.toLocal8Bit();
  4. const char *c_str = ba.data();
  5. str = QString::asprintf("%s %s %s", c_str, "to", "the future.");

3. 插入、替换:

  • insert:
  1. QString str = "Welcome";
  2. str.insert(3, "abc"); // Welabccome
  • replace:
  1. QString str = "Welcome";
  2. str.replace(4,1,"a"); // Welcame

4. 去空格:

  • trim:
  1. QString str = " Wel come ";
  2. str = str.trimmed(); // Wel come
  3. str = str.simplified().trimmed(); // Wel come