Qt parametry sygnału i słotu
Ostatnio zmodyfikowano 2022-03-08 22:52
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 |
|
pekfos |
» 2022-03-08 21:46:07 Skąd by się miała brać wartość dla tego argumentu? Nie wiadomo czym jest button. |
|
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: 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 |
|
« 1 » |