Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Qt parametry sygnału i słotu

Ostatnio zmodyfikowano 2022-03-08 22:52
Autor Wiadomość
huberthx
Temat założony przez niniejszego użytkownika
Qt parametry sygnału i słotu
» 2022-03-08 21:01:53

            QObject::connect(button,SIGNAL(clicked(int)),this,SLOT(Funkcja(int)));
Jak zrobić żeby funkcja clicked() przyjmowała jeden parametr w tym przypadku int-a ponieważ potrzebuje aby slot Funkcja() również przyjmował ten parametr
W tej postaci connect nie działa (nie wywołuje się funkcja Funkcja());
Za pomoc z góry dziękuję.
Pozdrawiam
P-179313
pekfos
» 2022-03-08 21:46:07
Skąd by się miała brać wartość dla tego argumentu? Nie wiadomo czym jest button.
P-179314
killjoy
» 2022-03-08 22:52:02
Nie wiem którego Qt używasz, ale w Qt 5 da się robić QObject::connect() na lambdach:
C/C++
connect(
sender, & Sender::valueChanged,
[ = ]( const QString & newValue ) { receiver->updateValue( "senderValue", newValue ); }
);

Więc o ile dobrze zrozumiałem, możesz owrapować funkcję w lambdę i po prostu olać argument, albo w drugą stronę przesłać jej jakąś sztuczną wartość.
Chociaż takie sztuczne wartości brzmią jak trochę brudne rozwiązanie.

Generalnie, najlepiej będzie, kiedy obczaisz źródło: https://wiki.qt.io/New_Signal_Slot_Syntax
P-179315
« 1 »
  Strona 1 z 1