空になることもある文字列を使用して QDateComboBox の日付を設定するにはどうすればよいですか?
2 に答える
QDateEditについて話していると仮定すると、文字列からQDateオブジェクトを作成して、 setDate 関数に渡すことができるようにする必要があります。
QDate クラスには、文字列から QDate を作成できる静的fromString関数がありますが、正しく機能させるには、文字列内の日付の形式を知っている必要があります。
デフォルトでは、QDate.fromString
日付は次の形式であると想定されます。
ddd MMM d yyyy (ShortDayName ShortMonthName ShortDayNumber LongYearNumber)
e.g. Thu Dec 6 2012
ただし、標準のDateFormatまたはカスタムフォーマット文字列fromString
を渡すことにより、 の 2 番目の引数としてフォーマットを指定できます。
QDate が日付文字列を解析できない場合、無効な QDate オブジェクトが返されます (これは で確認できますdate.isValid()
)。
空の文字列は無効な日付オブジェクトを生成しますが、 に渡すQDateEdit.setDate
と無視されます (つまり、日付は変更されません)。
QDateEdit
を使用して設定できるものについて話していると思いますsetDate(QDate)
。QDate
文字列からを作成するには、 を使用しますQDate.fromString
。QT 3 QDateTime APIまたはQT 4 QDateTime APIを参照してください。