【问题标题】:String + variable how?字符串+变量如何?
【发布时间】:2011-07-21 22:09:10
【问题描述】:

我是学习 Qt/C++ 的初学者 我遇到了一个错误: 我想知道如何在这种情况下将变量“用户名”放在下面几行中的字符串旁边。

QString username = ui->lineEdit->text();

QMessageBox msgBox;
msgBox.setText("Your username is: " VARIABLEHERE);
msgBox.exec();

那么如何排列它或者我应该使用其他功能?比 msgBox.setText()

【问题讨论】:

    标签: c++ qt qt4 qt-creator


    【解决方案1】:

    不错的 Qt 方式是:

    msgBox.setText(QString("Your username is: %1").arg(VARIABLEHERE));
    

    欲了解更多信息,请参阅QString::arg

    【讨论】:

    • 这个成功了,谢谢大家:)
    【解决方案2】:

    如果您需要翻译支持:

    msgBox.setText(tr("Your username is: %1").arg(VARIABLEHERE));
    

    如果你连接,那么所有语言都必须使用相同的句子语义,嗯......他们不能。

    【讨论】:

      【解决方案3】:
      msgBox.setText("Your username is: "+VARIABLEHERE);
      

      【讨论】:

      • 取决于VARIABLEHERE 的类型。如果是const char*,那么这将不起作用。
      【解决方案4】:

      我认为 + 应该会有所帮助: msgBox.setText("Your username is: " + username );

      【讨论】:

        【解决方案5】:

        相关: 当您使用“std::cout”进行调试时,它与 QStrings 的工作方式类似:

        cout << any_qstring.toUtf8().constData() << number_variable << endl;
        

        否则编译器会告诉你“

        编辑:拨打toStdString更容易

        cout << myString.toStdString() << some_int << endl;
        

        如果你想从字符串中解析数字,请使用QString::number(your_double);

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-04-24
          • 1970-01-01
          • 1970-01-01
          • 2019-02-08
          相关资源
          最近更新 更多