0

連絡先の読み取り用のアプリを 1 つ開発しています。連絡先の追加ページで、名、姓、電話番号などのテキストフィールドをいくつか作成しました。また、連絡先を保存または作成するための ActionItem を 1 つ作成しました。このような

acceptAction: ActionItem {
        title: (_contactRead.contactEditor.mode == ContactEditor.CreateMode ? qsTr ("Create" ) : qsTr ("Save"))

        onTriggered: {
            _contactRead.contactEditor.saveContact()

            navigationPane.pop()
        }
    }

連絡先の保存または作成をクリックしたときに、ポップアップ (ダイアログ ボックスまたはトースト) を表示したいと考えています。onTriggered に open() を追加しようとしましたが、ダイアログ ボックスを作成する方法と場所を混乱させました。

私を助けてください....

4

1 に答える 1

1

--> alert(tr("連絡先が保存されました"));

次のサンプルを参照してください

----------qml--------------

 Button {
            horizontalAlignment: HorizontalAlignment.Center

            text: qsTr("Update")

            onClicked: {
                _app.updateRecord(idUpdateTextField.text, firstNameUpdateTextField.text, lastNameUpdateTextField.text);
            }
        }

---cppファイル-------------------

bool App::updateRecord(const QString &customerID, const QString &firstName, const QString &lastName)
{


    bool intConversionGood = false;
    const int customerIDKey = customerID.toInt(&intConversionGood);
    if (!intConversionGood) {
        alert(tr("You must provide valid integer key."));
        return false;
    }


    QSqlDatabase database = QSqlDatabase::database();

    QSqlQuery query(database);
    const QString sqlCommand = "UPDATE customers "
                               "    SET firstName = :firstName, lastName = :lastName"
                               "    WHERE customerID = :customerID";
    query.prepare(sqlCommand);
    query.bindValue(":firstName", firstName);
    query.bindValue(":lastName", lastName);
    query.bindValue(":customerID", customerIDKey);


    bool updated = false;
    if (query.exec()) {

        if (query.numRowsAffected() > 0) {
            alert(tr("Customer with id=%1 was updated.").arg(customerID));
            updated = true;
        } else {
            alert(tr("Customer with id=%1 was not found.").arg(customerID));
        }
    } else {
        alert(tr("SQL error: %1").arg(query.lastError().text()));
    }


    database.close();

    return updated;
}

サンプルアプリはこちらから

于 2013-09-04T08:51:34.633 に答える