Vytvořte nový Qt Widgets projekt.
V Návrhu (mainwindow.ui) přidejte dva kalendáře (QCalendarWidget), label a LCD Number.
Přidejte sloty pro změnu výběru data v kalendářích.
Klikněte pravým tlačítkem na jeden z kalendářů, zvolte "Go to slot..." (česky: "Jít na zdířku...") a vyberte signál SelectionChanged().
Totéž zopakujte pro druhý kalendář.
V kódu (mainwindow.cpp) implementujte tyto slot tak, aby počítaly počet dnů mezi dvěma daty a zobrazil jej v QLCDNumber.
Do vygenerovaných funkcí přidejte volání funkce computeDays(), kterou si implementujeme.
2. Funkce computeDays() je funkcí třídy MainWindow a obsahuje výpočet počtu dnů mezi dvěma daty.
QDate startDate: Vytváříme objekt startDate třídy QDate. Třída QDate je součástí knihovny Qt a reprezentuje datum v kalendáři.
selectedDate(): Je metoda třídy QCalendarWidget, která vrací aktuálně vybrané datum v kalendářním widgetu. Takže startDate bude obsahovat datum vybrané v prvním kalendářním widgetu.
daysTo(): Je metoda třídy QDate, která vrací počet dnů od data na kterém je volána (v našem případě startDate) do data, které je jí předáno jako argument (v našem případě endDate). Pokud je startDate před endDate, vrátí kladné číslo. Pokud je startDate po endDate, vrátí záporné číslo.
display(days): Metoda display() třídy QLCDNumber zobrazí číslo (v našem případě days) na LCD displeji.
Kód lze zkrátit například takto:
5. Do hlavičkového souboru mainwindow.h musíme ještě přidat hlavičku funkce computeDays().