События PyQT между несколькими объектами - PullRequest
0 голосов
/ 26 октября 2009

Я создаю программу с графическим интерфейсом на Python / PyQT и хотел бы знать, как я могу связать событие, которое происходит в дочернем объекте, с родителем?

Например, если кто-то нажимает кнопку «Отправить», как мне вызвать что-то, что происходит в родительском объекте (скажем, обновить QLabel на родительском объекте)

Любая помощь будет принята с благодарностью

L

Ответы [ 2 ]

4 голосов
/ 26 октября 2009

Это делается как в C ++ Qt, подключая сигналы к слотам, вы найдете всю информацию на этой странице здесь для старого способа).

0 голосов
/ 28 ноября 2009

Вы должны подключать эти методы каждый раз, когда устанавливаете нового родителя (и удаляете старые подключения !!) http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/qobject.html#connect (Если родительский элемент виджета изменяется, и вы по-прежнему хотите, чтобы этот новый родитель получал сигналы)

Но если ваш макет статичен, просто назовите хорошие имена для ваших виджетов. Затем подключите каждый сигнал к вызываемой (любая функция Python), и эта функция изменит QLable. В этом случае родительские дочерние отношения ничего не меняют, поскольку вы обращаетесь к виджетам по именам, а не по отношениям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...