3

QtDesignerでDataEditの日付を.txtに保存し、後で.txtを開いて日付をDataEditに入れようとしています。

保存は大丈夫です:

QTextStream out(&sFile);

        out << ui.lineEdit_2->text()<< "\n"
            << ui.lineEdit->text()<< "\n" 
            << ui.dateEdit->text();

開く(ここに問題があります):

  QTextStream in(&sFile);
        QString text = in.readLine();
        QString name = in.readLine();
        QDateEdit fecha = in.readLine();

        sFile.close();
        ui.lineEdit_2->setText(text);
        ui.lineEdit->setText(name);
        ui.dateEdit->date(fecha);

エラー 1 エラー C2440: 'initializing': 'QString' から 'QDateEdit' に変換できません
エラー 2 エラー C2660: 'QDateTimeEdit::date': 関数は引数を 1 つ取りません

私はこれを変えるのが好きかわかりません。

4

3 に答える 3

1

QDateEdit は QDate ではなくウィジェットであり、QDateはシリアル化できます。ウィジェットをシリアル化する意味がありません。実際に QDateEdit のテキストを書き留めており、そのテキストから QDateEdit を作成したいと考えています。

代わりに、その編集の QDate をシリアル化し、QDate を取得して ui.dateEdit に設定する必要があります。

于 2013-01-28T10:16:25.700 に答える
1

設定を保存する最良の方法ではありません。テキストとして保存しますが、テキストのエンコード、日付形式などは制御しません。

とにかく、コードの最小限の変更は次のとおりです。

QDate fecha = QDate::fromString(in.readLine());
...
ui.dateEdit->setDate(fecha);
于 2013-01-28T10:36:23.017 に答える
0

QDate::fromString()それから取得するメソッドを試してくださいQDate。その後、電話するだけQDateEdit::setDate(const QDate& date)

とても長いザイ

于 2013-01-28T10:47:41.063 に答える