Seite 1 von 1

QDateTimeEdit

Verfasst: 3. Januar 2008 08:32
von D_ron
Hallo zusammen,

ich habe in meinem Dialog ein QDateTimeEdit.
Die Werte bzw. das Datum für dieses Widget speichere ich in einer Map ab bevor ich das QDateTimeEdit auf diesen Datumswert setzen möchte.

Code: Alles auswählen

QMap<QString, QDateTime*> qlDateMap;
...

const QDateTime *date = new QDateTime(QDate(pProductItem->ActivationTime()->Time().Year(), pProductItem->ActivationTime()->Time().Month(), pProductItem->ActivationTime()->Time().Day()),
QTime(pProductItem->ActivationTime()->Time().Hour(), pProductItem->ActivationTime()->Time().Minute(), pProductItem->ActivationTime()->Time().Second()));


//Datum in Map einsetzen:

productItem->qlDateMap["eActivationTime"] = &QDateTime(QDate(date->date()), QTime(date->time()));

//Auswerten der Map und Zuweisen des Datums an das QDateTime-Widget

if(pProdcutItem->qlDateMap.contains("eActivationTime")){
const QDateTime &actDate = QDateTime(QDate(pProdcutItem->qlDateMap.value("eActivationTime")->date()), QTime(pProdcutItem->qlDateMap.value("eActivationTime")->time()));
//muss als Referenz übergeben werden.
frmProductItemConfig->ui_frmProductItemConfig.dateActivation->setDateTime(actDate);
}//if (eActivationTime)
Das Setzen des Datums funktioniert nicht --> setDate(...)
Sieht jemand was ich flasch mache? :(

Verfasst: 3. Januar 2008 08:57
von upsala
Ich kann jetzt auf Anhieb keinen Fehler finden.

Aber für meinen Geschmack arbeitest du zuviel mit Zeigern und Referenzen. Außerdem kann man ein QDateTime direkt aus einem QDateTime erzeugen, ohne daß man es nochmal in ein QDate und ein QTime aufsplittet.

Code: Alles auswählen

QMap<QString, QDateTime> qlDateMap; 
 
QDateTime date = QDateTime(pProductItem->ActivationTime()->Time()); 
 
productItem->qlDateMap["eActivationTime"] = date;
 
if(pProdcutItem->qlDateMap.contains("eActivationTime")) { 
	QDateTime actDate = pProdcutItem->qlDateMap.value("eActivationTime"); 
	frmProductItemConfig->ui_frmProductItemConfig.dateActivation->setDateTime(actDate); 
}

Verfasst: 3. Januar 2008 09:30
von D_ron
Hi upsala,

vielen dank so funktioniert's!
Machs gut! :)