Qt:在新线上分开输入和显示

问题描述 投票:0回答:1

我试图让用户输入逗号分隔的地址。这个想法是程序将在新行上以正确的格式显示地址。我是使用qtCreator的新手。我试图将输入转换为列表,然后在QMessage中显示列表。

我面临的错误是:

C:\Qt\5.11.2\mingw53_32\include\QtCore\qstring.h:275: candidate function not viable: no known conversion from 'QStringList' to 'qlonglong' (aka 'long long') for 1st argument

C:\Users\Nickitaes\Desktop\Misc\UNISA\COS2614\Assignment 01\header\main.cpp:25: error: no matching conversion for functional-style cast from 'QStringList' to 'QString'

以下是我的代码。我不确定我哪里出错了,我发现的文档使用整数。

int main (int argc, char* argv[]) {
    QApplication app(argc, argv);
    QMessageBox msgBox;
    QString enteredAddress = QInputDialog::getText(0, "User Address",
                                                 "Enter address each field separated by a comma "
                                                 "and a space: ");
    QStringList lines = enteredAddress.split(",/n ");

    QString response = QString("The new address format is ").arg(lines);
    msgBox.setText("Message Box", + QString(enteredAddress.split(",/n")))

    return 0;
}
c++ qt qstring qmessagebox
1个回答
1
投票

你的代码中有多个拼写错误:例如,"Message Box", +应该是"Message Box" +。这是一个很好的起点:

int main (int argc, char* argv[]) {
    QApplication app(argc, argv);
    QString enteredAddress = QInputDialog::getText(
        0,
        "User Address",
        "Enter address each field separated by a comma and a space: ");
    QMessageBox msgBox;
    msgBox.setText("Message Box:\n" + enteredAddress.replace(", ", "\n"));
    msgBox.show();
    return app.exec();
}
© www.soinside.com 2019 - 2024. All rights reserved.