[solved][Qt] Wielokrotne użycie metody za pomocą emit signal

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
Fliszer
Piegowaty Guziec
Piegowaty Guziec
Posty: 10
Rejestracja: 03 mar 2009, 12:55
Płeć: Mężczyzna
Wersja Ubuntu: 8.10
Środowisko graficzne: GNOME

[solved][Qt] Wielokrotne użycie metody za pomocą emit signal

Post autor: Fliszer »

Witam, problem polega na kilkukrotnym wywołaniu dowolnej metody, której zawartość to np.:

Kod: Zaznacz cały

void DaneKlienta::wybranoKlientaSlot(const QString& idKlenta){
   qDebug() << "Dowolny tekst";
}
Ok. Wszystko fajnie działa, ale gdy wywołuje tą metodę po raz drugi to w konsoli zostaje wypisany tekst "Dowolny tekst" dwa razy jeden pod drugim. Kiedy wywołam ją po raz trzeci to tekst wyświetla się już trzy razy! Tak się dzieje tylko kiedy używam funkcji emit, natomiast jeżeli używam np. connect ale wywołane naciśnięciem buttona to qDebug wyskakuje tylko raz.

Powyżej pokazałem przykład, natomiast w moim przypadku odczytuję jakąś wartość z bazy danych np. 100 później dodaję do niej np. 50 w tej samej metodzie. W momencie drugiego wywołania metody zamiast dodać 50 to dodaje mi 100?

Jeżeli ktoś zna odpowiedź jak ten problem zlikwidować, będę bardzo wdzięczny.
mikolajs
Wytworny Kaczor
Wytworny Kaczor
Posty: 352
Rejestracja: 15 paź 2008, 18:30
Płeć: Mężczyzna
Wersja Ubuntu: 9.04
Środowisko graficzne: KDE Plasma

Odp: [Qt] Wielokrotne użycie metody za pomocą emit signal

Post autor: mikolajs »

Raczej wydaje mi się, że gdzieś w kodzie zapętla Ci się emitowanie sygnału.
Fliszer
Piegowaty Guziec
Piegowaty Guziec
Posty: 10
Rejestracja: 03 mar 2009, 12:55
Płeć: Mężczyzna
Wersja Ubuntu: 8.10
Środowisko graficzne: GNOME

Odp: [Qt] Wielokrotne użycie metody za pomocą emit signal

Post autor: Fliszer »

Dokładnie!!! Po wywołaniu sygnału dałem:

Kod: Zaznacz cały

disconnect(nawaObiektu, SIGNAL(dowolnySignal), 0, 0));
i wszystko śmiga jak potrzeba. Thx.
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 31 gości