on*-свойства

onDestroyed( object $sender )
onObjectNameChanged( object $sender, string $objectName )

Свойства

stringobjectName READ / WRITE

Методы

void__construct ( object $parent = 0 )
voidaddEventListenerType ( int $eventType )
voidclearEventListenerTypes ( )
voiddisableEventListener ( )
voidmoveToThread ( QThread $thread )
stringobjectName ( )
ArrayqobjInfo ( bool $return = false )
ArrayqobjMethods ( bool $return = false )
ArrayqobjOnSignals ( bool $return = false )
voidqobjProperties ( bool $return = false )
voidremoveEventListenerType ( int $eventType )
voidsetEventListener ( callable $callback )

Слоты

voidsetObjectName ( string $objectName )

Сигналы

voiddestroyed ( )
voidobjectNameChanged ( string $objectName )

Описание методов

void QObject::__construct ( object $parent = 0 )  

void QObject::addEventListenerType ( int $eventType )  

Добавляет тип события в список разрешённых для передачи в обработчик событий. По умолчанию на обработчик не отправляется ни одного события.

void QObject::clearEventListenerTypes ( )  

Очищает список допустимых типов событий обработчика.

void QObject::disableEventListener ( )  

Отключает установленный обработчик событий.

void QObject::moveToThread ( QThread $thread )  

string QObject::objectName ( )  

Возвращает имя объекта. Если имя не было установлено, возвратит пустую строку.

Array QObject::qobjInfo ( bool $return = false )  

Выводит список пользовательских свойств со значениями. Для перехвата вывода установите переменной $return значение TRUE.

Array QObject::qobjMethods ( bool $return = false )  

Выводит список методов объекта. Для перехвата вывода установите переменной $return значение TRUE.

Array QObject::qobjOnSignals ( bool $return = false )  

Выводит список доступных on*-свойств (onSignalName) объекта. Для перехвата вывода установите переменной $return значение TRUE.

$object = new QObject;
file_put_contents("QObjectOnSignals.txt", $object->qobjOnSignals(true));

void QObject::qobjProperties ( bool $return = false )  

Выводит список свойств объекта. Для перехвата вывода установите переменной $return значение TRUE.

void QObject::removeEventListenerType ( int $eventType )  

Удаляет тип события из списка разрешённых.

void QObject::setEventListener ( callable $callback )  

Устанавливает обработчик событий объекту. Чтобы обработчик мог принимать события, нужно добавить необходимые типы событий в список разрешенных с помощью функции addEventListenerType().

Если необходимо отфильтровать событие, т.е. прервать цепочку передачи события, то обработчик должен возвратить TRUE.

Список допустимых типов событий

 

Пример:

 

class MainWindow extends QWidget {
    private $label;

    public function __construct() {
        parent::__construct();
        $this->initComponents();
        $this->initEvents();
    }
    
    private function initComponents() {
        $this->label = new QLabel($this);
        $this->label->text = 'Курсор вне окна';
        
        $this->layout = new QHBoxLayout($this);
        $this->layout->addWidget($this->label);
    }
    
    private function initEvents() {
        // в качестве обработчика событий устанавливаем функцию myEventListener
        $this->setEventListener(array($this, 'myEventListener'));
     
        // и указываем какие события нужно перехватывать: 
        // QEvent::Leave - курсор покидает виджет
        // QEvent::Enter - курсор заходит в область виджета
        $this->addEventListenerType(QEvent::Leave);
        $this->addEventListenerType(QEvent::Enter);
    }
    
    // обработчик событий
    public function myEventListener($sender, $event) {
        // фильтруем события по их типу и выполяем нужные действия
        switch($event->type) {
        case QEvent::Leave:
            $this->label->text = 
                'Курсор вне окна';
            break;
            
        case QEvent::Enter:
            $this->label->text = 
                'Курсор в окне';
            break;
        }

        return false;
    }
}

$mainWindow = new MainWindow;
$mainWindow->resize(200,200);
$mainWindow->show();

qApp::exec();

   

 

Пример прерывания закрытия окна:

class MainWindow extends QWidget {
    public function __construct() {
        parent::__construct();
        
        $this->initEvents();
    }
    
    private function initEvents() {
        $this->setEventListener(array($this, 'eventListener'));
        $this->addEventListenerType(QEvent::Close);
    }
    
    public function eventListener($sender, $event) {
        $return = QMessageBox::question($this, "Закрытие окна", "Вы действительно хотите закрыть окно?",
                                        "Да", "Нет");
                                        
        if($return === 1 /* Нет */) {
            // Прерываем событие
            $event->ignore();
            return true;
        }
        
        return false;
    }
}

$mainWindow = new MainWindow;
$mainWindow->show();

qApp::exec();

Описание слотов

void QObject::setObjectName ( string $objectName )  

Устанавливает имя объекту, при этом объект посылает сигнал objectNameChanged($newObjectName).

Описание сигналов

void QObject::destroyed ( )  

Сигнал вызывается перед уничтожением объекта.

void QObject::objectNameChanged ( string $objectName )  

Сигнал вызывается после смены имени объекта и передает установленное имя объекта.

comments powered by HyperComments