2017-06-09 8 views
1

システムクロックから現在の日付を取得し、その形式を変更しようとしています(この形式はdd/MM/yyyyです)。その後、setDate()を使ってQDateEditを設定する必要があります。私の問題は、fromString()QDate::currentDate()を使用すると無効な日付が返されるということです。これは、この問題に関するコードの一部fromString()をcurrentDate()で使用する方法

QDate date = QDate::currentDate().fromString("dd/MM/yyyy"); 
qDebug() << date.toString(); // <-- returns empty string 
StartDateEdit->setDate(date); // <-- adding invalid date shows 1-1-2000 

である私のシステムクロックは、Windows 10で任意の提案を、このフォーマットM/d/yyyyを持っていますか?

答えて

2

QDate::currentDate()は静的関数です。これは現在の日付を返し、オブジェクトは日付ではなく日付を格納します。フォームを表示する場合:"dd/MM/yyyy"QDateEditsetDisplayFormat関数を使用する必要があります。

QDate date = QDate::currentDate(); 
StartDateEdit->setDate(date); 
StartDateEdit->setDisplayFormat("dd/MM/yyyy"); 

注:fromString関数文字列のフォーマットを示すQDATEに文字列を変換します。

関連する問題