何时使用QString {...},tr(...)和+ = / append?

时间:2017-06-18 14:46:10

标签: qt string-concatenation qstring

有关QString可以做什么的信息在广泛的Qt文档中广泛传播。但是从信息溢出来看,我不确定何时应该使用最好的工具。

对于表单中的简单报表生成器,我现在拥有此代码,主要依靠trarg为最终QString创建QMessageBox

void Dialog::analyseDialog() {
    QString str{};
    if( ui.lineEdit->text().isEmpty()) {
        str += tr("Name: keine Angaben\n");
    } else {
        str += tr("Name: %1\n").arg(ui.lineEdit->text());
    }
    if( ui.spinBox->cleanText().isEmpty()) {
        str += tr("Geburtsdatum: keine Angaben\n");
    } else {
        str += tr("Geburtsdatum: %1\n").arg(ui.spinBox->cleanText());
    }
    if( ui.radioButton->isChecked()) {
        str += tr("Geschlecht: weiblich\n");
    } else {
        str += tr("Geschlecht: männlich\n");
    }
    QMessageBox::information(0, tr("Die Auswertung"), str);
}

但我不确定这是否正确使用:

  • 如果我不期望本地化,那么使用tr()是否恰当?
  • 或者我应该使用QString{...} - c'来代替?
  • +=(或.append)对Qt有效吗?它应该在内部使用QStringBuffer。有时......错......什么?
  • 或者有更好的方法吗?

0 个答案:

没有答案