Использование
bool connect ( QObject $sender, SIGNAL , object $receiver, SLOT )
При соединении сигнала Qt-объекта с функцией PHP-обекта, необходимо помнить, что первым аргументом (независимо от количества аргументов, передаваемых сигналом) в функцию всегда передается ссылка на объект, пославший сигнал. Это значит что в функции, соединяемой с сигналом, количество аргументов должно быть на 1 больше. Однако функция SLOT('slotname()') должна принимать сигнатуру без учёта этого аргумента. Например, если сигнал передает 1 аргумент с типом bool, код для соединения будет таким:
connect( $QObject_sender, SIGNAL('someSignal(bool)'), $PHP_receiver, SLOT('someSlot(bool)') );
а функция такой:
public function someSlot( $QObject_sender, $bool_value ) { /* ... */ }
Примеры
class MyWindow extends QWidget { public function __construct() { parent::__construct(); $button = new QPushButton($this); $button->text = 'Click me!'; connect($button, SIGNAL('clicked()'), $this, SLOT('buttonClicked()')); } public function buttonClicked($sender) { echo 'Clicked!'; } } $window = new MyWindow; $window->show();comments powered by HyperComments