PyQt i uruchomienie funkcji z przycisku

0

Witam. Zacząłem w końcu obudowywać swój program okienkiem i teraz mam pytanie. Używam PyQt4 i Pythona 2.7, ale mam mały problem bo nie mogę zrealizować reakcji na przycisk. Chciałem aby po kliknięciu na button odezwała się funkcja która ma przypisany jeden argument ale coś to nie idzie, gdyż argument funkcji jest dziwnym trafem None. Ktoś mógłby mi podpowiedzieć gdzie robię błąd? W klasie zmienne przechowywuję wszystkie ważne zmienne tak by każda funkcja miała do niej dostęp.

        self.inicjalizacja_btn.connect(self.odpowiedz("I;20;")) #odpowiedź na guzik
    
    def odpowiedz(self,zmienne.rozkaz):
         = rozkazuje
        z = zmienne
        nrk = zmienne.nrk
        nrk = nrk + 1
        zmienne.nrk = nrk
        self.wyslij()

Btw. jak wciśnięcie przycisku można by wrzucić w if'a? Chodzi o to by zebrał kilka danych. Bo starałem się to zrobić w logice boolowskiej ale to nic nie dawało...

0

Przycisk robisz tak:

self.nazwa_przycisku.clicked.connect(lambda: self.nazwa_funkcji(argumenty))

I masz blad w 1 linijce funkcji odpowiedz, masz = rozkazuje, ale nie masz zadnej zmiennej po lewej stronie.
Funkcja także przyjmuje niepoprawnie argument, najlepiej powinna przyjmowac np.

def odpowiedz( self , rozkaz):

(chodzi o argument, ktory nie powinien byc z kropka).
Ty w funkcji mu piszesz:
Włącz funkcje odpowiedz z argumentem ktory pobierzesz z pliku zmienne i nazywa sie ta zmienna rozkaz,
a chcesz miec funkcję ktora jako parametr przyjmuje to co Ty podasz w przycisku, dlatego Ci wychodzi wartosc None , a nie "I;20;" .

1 użytkowników online, w tym zalogowanych: 0, gości: 1