QDateEdit: Signal bei klick auf heutiges Datum

Alles rund um die Programmierung mit Qt
Antworten
Paddel
Beiträge: 11
Registriert: 23. Dezember 2011 10:38

QDateEdit: Signal bei klick auf heutiges Datum

Beitrag von Paddel »

Hallo Miteinander,

ich habe ein Problem mit dem QDateEdit.
Und zwar initialisiere ich das QDateEdit am Anfang mit dem heutigen Datum, damit man nicht ewig im CalenderPopup rumklicken muss, wenn man ein aktuelles Datum will (sonst steht es beim 1.1.2000)).
Jetzt ist das Problem, wenn ich im Popup das heutige Datum auswähl, wird (selbstverständlich) das Signal dateChanged() nicht ausgelöst, was ich ziemlich ungeschickt finde. Nur bei klick auf ein anderes Datum als das heutige..

Weiß jemand eine Idee, wie ich das Problem umgehen kann?
Ich habe schon alle möglichen Signale ausprobiert. Am geschicktesten wäre eigentlich ein Signal mit "clicked()" oder "dateSelected()" ...
Dabei ist mir recht Schnuppe, ob ich das Datum mit dem Signal gleich mit bekomme, ich kann mir das auch manuell aus dem DateEdit herauslesen.

Mein Problem ist, dass ich das Kalibrierdatum einer Hardware in diese schreiben muss, welches ja meistens das heutige ist, aber nicht sein muss.

Ich hoffe, ihr könnt mir weiterhelfen.

Danke.

Grüße, Patrick
MichaelS
Beiträge: 240
Registriert: 27. Dezember 2005 12:49

Re: QDateEdit: Signal bei klick auf heutiges Datum

Beitrag von MichaelS »

Hallo,

QDateEdit hat eine Methode calendarWidget(). Die liefert Dir einen Zeiger auf ein QCalendarWidget (eben jenes Popup). QCalendarWidget wiederum hat ein Signal

Code: Alles auswählen

clicked ( const QDate & date ) 
Damit sollte Dein Problem eigentlich lösbar sein.

Gruß Michael
hilefoks
Beiträge: 144
Registriert: 13. März 2008 16:09

Re: QDateEdit: Signal bei klick auf heutiges Datum

Beitrag von hilefoks »

Wie du es technisch lösen kannst, hat MichaelS ja bereits beantwortet.

Von der Usability her frage ich mich aber, warum der Benutzer überhaupt nochmals das Datum klicken soll, wenn es doch schon voreingestellt ist. Ausserdem könnte der Benutzer auch immer noch das Datum übertippen, auch mit dem aktuellem Datum. Dann bekommst du aber auch kein Signal.

MfG,
Hilefoks
Antworten