Какой сигнал можно подключить к начальному диалоговому отображению в pyqt4 (qt)

У меня есть приложение, в котором я хотел бы подключить любой сигнал, испускаемый при отображении диалогового окна pyqt4, чтобы выполнить начальный метод. Я не хочу, чтобы метод вызывался в методе __init__ по ряду причин. Я потратил довольно много времени на поиски, но ответа так и не нашел. Я уверен, что есть простое решение, которое из-за моей неопытности я упускаю из виду, поскольку я могу сделать это в wxPython. Предложения?


person user90855    schedule 10.12.2009    source источник


Ответы (1)


При первом отображении сигнал не выдается, вместо этого вам придется перехватывать первые resizeEvent или paintEvent, перегружая эти методы (поскольку вы не хотите инициализировать из метода __init__).

Другой вариант — добавить свой собственный метод showAndInit, который инициализирует и затем вызывает show.

person e8johan    schedule 10.12.2009
comment
Вы также можете перехватить метод showEvent, который будет вызываться, когда запланировано отображение диалогового окна (не совсем правильно, когда оно отображается). - person Caleb Huitt - cjhuitt; 10.12.2009
comment
Также, если вы не хотите создавать подклассы, вы можете перехватить все эти события с помощью фильтра событий, т.е. другого класса, который затем может инициировать инициализацию. - person e8johan; 11.12.2009