Qt používá signály a sloty pro komunikaci mezi objekty. Signál je vyslán, když se stane něco důležitého, a slot je metoda, která je volána jako odpověď na tento signál. Pro propojení signálů a slotů se používá právě funkce connect.
Syntax:
sender je ukazatel na objekt, který vysílá signál.
&SenderClass::signal je ukazatel na signál, který chcete sledovat, obvykle je to metoda vysílajícího objektu.
receiver je ukazatel na objekt, který má signál zachytit.
&ReceiverClass::slot je ukazatel na slot, který má být volán, když je signál vyslán, obvykle je to metoda přijímajícího objektu.
Pro každé číselné tlačítko (btn0 až btn9) použijte metodu connect k připojení signálu clicked() k slotu onNumberBtn_clicked(). To zajistí, že při kliknutí na jakékoliv číselné tlačítko se aktivuje slot onNumberBtn_clicked().
Pro tlačítka btnPlus a btnMinus použijte metodu connect k připojení signálu clicked() k slotu onPlusOrMinusBtn_clicked(). To zajistí, že při kliknutí na tlačítka pro sčítání nebo odčítání se aktivuje slot onPlusOrMinusBtn_clicked().
Můžete použít metodu connect také pro připojení signálů tlačítek pro nulování (nulujCelkemButton a nulujOperandButton) k odpovídajícím slotům on_nulujCelkemButton_clicked() a on_nulujOperandButton_clicked().
Implementujte slot on_nulujCelkemButton_clicked() pro nulování obsahu celkemEdit. Tento slot bude nastavovat text celkemEdit na "0".
Implementujte slot on_nulujOperandButton_clicked() pro nulování obsahu operandEdit. Tento slot bude nastavovat text operandEdit na "0".
Implementujte slot onNumberBtn_clicked(), který přidá číslo z textu stisknutého tlačítka na konec textu operandEdit.
Implementujte slot onPlusOrMinusBtn_clicked(), který na základě textu stisknutého tlačítka provede buď sčítání, nebo odčítání mezi hodnotou v celkemEdit a hodnotou v operandEdit a aktualizuje celkemEdit s novým výsledkem. Vynuluje se hotnota operandEdit.
V Design režimu najdeme vpravo dole žlutou část s vlastnostmi prvku. Vybereme LineEdit, sjedeme ve žluté části níže a objeví se zelená část. V ní nalezneme "Alignment", vybereme "Horizontal" a změníme na "AlignRIght".
V pravé části Qt máme seznam objektů, které náš projekt obsahuje. Úplně dole bychom měli najít "menubar" a "statusbar", na které když klikneme pravým tlačítkem, tak se objeví možnost pro smazání.