on*-свойства
onDestroyed | ( object $sender ) |
onObjectNameChanged | ( object $sender, string $objectName ) |
Свойства
string | objectName READ / WRITE |
Методы
void | __construct ( object $parent = 0 ) |
void | addEventListenerType ( int $eventType ) |
void | clearEventListenerTypes ( ) |
void | disableEventListener ( ) |
void | moveToThread ( QThread $thread ) |
string | objectName ( ) |
Array | qobjInfo ( bool $return = false ) |
Array | qobjMethods ( bool $return = false ) |
Array | qobjOnSignals ( bool $return = false ) |
void | qobjProperties ( bool $return = false ) |
void | removeEventListenerType ( int $eventType ) |
void | setEventListener ( callable $callback ) |
Слоты
void | setObjectName ( string $objectName ) |
Сигналы
void | destroyed ( ) |
void | objectNameChanged ( 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::objectNameChanged ( string $objectName )
Сигнал вызывается после смены имени объекта и передает установленное имя объекта.