QDateTimeEdit

Alles rund um die Programmierung mit Qt
Antworten
D_ron
Beiträge: 38
Registriert: 24. Juli 2007 11:53
Wohnort: Karlsruhe
Kontaktdaten:

QDateTimeEdit

Beitrag 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? :(
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag 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); 
}
D_ron
Beiträge: 38
Registriert: 24. Juli 2007 11:53
Wohnort: Karlsruhe
Kontaktdaten:

Beitrag von D_ron »

Hi upsala,

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