Sida 1 av 1
Parametrar till funktionslotar QT c++
Postat: 13 feb 2010, 17:41
av Luxwarp
Hej, jag håller på med en miniräknare i QT c++.
Nu tänkte jag att knapparna 0-9 skall få använda samma funktion för att skriva ut siffran i textfältet.
Typ så här tänkte jag
void calculator::add_character(QString character)
{
QString old = input->text();
input->setText(old + character);
}
detta gör att när jag connectar så här
connect(one,SIGNAL(clicked()),this,SLOT(add_character(1)));
så vill jag att 1 (ettan), skall skickas med och användas i funktionen, men så fort jag kompilerar och kör så får jag error om att add_character(1) inte finns.
Någon som vet om något speciellt behövs för att få skicka med paramterar till slotar m.m.
Re: Parametrar till funktionslotar QT c++
Postat: 13 feb 2010, 17:49
av gusnan
Är det när du kompilerar eller när du kör programmet som du får fel?
Var är det som connect-raden finns? - Om den finns i någonstans i calculator-klassen så skall det ju funka, annars får måste du ju ta med calculator-objektet i connect-raden för att kompilatorn skall se den.
Re: Parametrar till funktionslotar QT c++
Postat: 13 feb 2010, 18:04
av Luxwarp
cowboy skrev:Är det när du kompilerar eller när du kör programmet som du får fel?
Var är det som connect-raden finns? - Om den finns i någonstans i calculator-klassen så skall det ju funka, annars får måste du ju ta med calculator-objektet i connect-raden för att kompilatorn skall se den.
connectraderna finns i calculator.cpp filen i calculatorklassens constructor där knapparna skrivsut.
asså den säger att
Starting /Grejor/Programmering/qt/Calculator/Calculator...
Object::connect: No such slot calculator::add_character(1) in calculator.cpp:48
och det är när jag kompilerar ja
Re: Parametrar till funktionslotar QT c++
Postat: 13 feb 2010, 20:32
av mcNisse
jag vet inte om du kan skicka egna parametrar med hjälp av connect, men du kan testa att skicka "1" istället för 1.
Re: Parametrar till funktionslotar QT c++
Postat: 13 feb 2010, 20:45
av Luxwarp
mcNisse skrev:jag vet inte om du kan skicka egna parametrar med hjälp av connect, men du kan testa att skicka "1" istället för 1.
Redan försökt, men kommit fram till att man bara kan skicka datatyper. och smidigast är att använda buttongroup
Re: Parametrar till funktionslotar QT c++
Postat: 13 feb 2010, 20:49
av mcNisse
Om jag inte minns fel så är det funktionen som ska deklareras inte ärgument som ska skickas. Du får väl skriva 10 slots. En för varje knapp...
Re: Parametrar till funktionslotar QT c++
Postat: 13 feb 2010, 21:18
av Luxwarp
mcNisse skrev:Om jag inte minns fel så är det funktionen som ska deklareras inte ärgument som ska skickas. Du får väl skriva 10 slots. En för varje knapp...
Jo det har jag gjort sålänge, tyckte bara att det var väldigt onödigt när dom gör samma sak förutom en liten bokstav:P