PyQt4.QtCore.
QObject
базовый класс для всех объектов модуля
blockSignals
(block)
- Parameters
block (bool) –
Возвращает предыдущее состояние и временно блокирует/разблокирует прием сигналов.
connect
(qobject, signal, callback[, <ConnectionType>])
connect
(qobject, signal, qobject2, slot[, <ConnectionType>])
connect
(qobject, signal, qobject2, signal2[, <ConnectionType>])Вешает обработчик на какой то сигнал, и возвращает логический статус работы.
qobject -
QtCore.QObject
, объект, сигнал которого мы слушаемqobject2 -
QtCore.QObject
, объект, сигал которого мы вызываем при обработке сигнала первого объектаsignal -
QtCore.SIGNAL
, сигнал объекта, который мы слушаемsignal2 -
QtCore.SIGNAL
, сигнал второго объекта, который мы слушаемslot -
QtCore.SLOT
, слот второго бъекта, который мы вызываемcallback - обработчик сигнала. В качестве обработчиков можно использовать функции, экземпляры класса, которые должны иметь метод __call__
ConnectionType - определяет тип соединения между сигналом и обработчиком. Используется при использовании нескольких потоков в приложении, т.к. изменять гуи поток из другого потока нельзя.
QtCore.Qt.AutoConnection - по умолчанию. Если источник сигнала и обработчик находятся в одном потоке, то эквивалентно значению DirectConnection, а если в разных - то QueuedConnection
QtCore.Qt.DirectConnection - обработчик вызывается сразу после генерации сигнала
QtCore.Qt.QueuedConnection - сигнал помещается в очередь обработки событий
QtCore.Qt.BlockingQueuedConnection - аналогично QueuedConnection, но пока сигнал не обработан, поток будет заблокирован. Источник сигнала и обработчик должны быть в разных потоках
QtCore.Qt.UniqueConnection - аналогично AutoConnection, но обработчик можно назначить только если он не был назначен ранее.
QtCore.Qt.Autocornpatconnection - значение используется в Qt3
QtCore.QObject.connect(button, QtCore.SIGNAL("clicked()"), on clicked) widget.connect(button, QtCore.SIGNAL('clicked()'), widget, QtCore.SLOT('func()')) widget.connect(button, QtCore.SIGNAL('clicked()'), callback) # ====================================== # другой способ навешивания обработчиков # ====================================== button.clicked.connect(func) # обработчик - класс, которому мы передаем какие то доп параметры button.clicked.connect(MyClass(10)) self.button2.clicked["bool"] .connect(self.on_clicked_button2) # через декоратор @button.clicked.connect def func(): pass
disconnect
(qobject, signal, callback)
disconnect
(qobject, signal, qobject2, slot)Удаляет обработчик сигнала, и возвращает логический статус работы.
qobject -
QtCore.QObject
, объект, сигнал которого мы слушалиqobject2 -
QtCore.QObject
, объект, сигал которого мы вызывали при обработке сигнала первого объектаsignal -
QtCore.SIGNAL
, сигнал объекта, который мы слушалиsignal2 -
QtCore.SIGNAL
, сигнал второго объекта, который мы слушалиslot -
QtCore.SLOT
, слот второго бъекта, который мы вызывалиcallback - обработчик сигнала.
# ====================================== # другой способ удаления обработчиков # ====================================== self.buttonl.clicked.disconnect() self.button2.clicked["bool"].disconnect(self.on_clicked_button2)
emit
(signal[, args])Генерирует сигнал в системе
self.button2.emit(QtCore.SIGNAL("c1icked(boo1)"), False) # ====================================== # другой способ генерации сигналов # ====================================== self.button2.clicked.emit(False) self.button2.clicked["bool"].emit(False)
signalBlocked
()Возвращает логическое предтсаление состояни блокировки приема сигналов
startTimer
(interval)Возваращает идентификатор таймера, с помощью которого можно стартовать таймер.
interval - задает промежуток времени в миллисекундах, по истечении которого выполняется метод
timerEvent()
. Если равен нуля, то таймер выполняется бесконечное количество раз
timerEvent
(qtimerevent)Обработчик таймера
PyQt4.QtCore.
QTimerEvent
Объект, ивент таймера
timerId
()Возвращает число, идентификатор таймера