У меня есть приложение, в котором я хотел бы подключить любой сигнал, испускаемый при отображении диалогового окна pyqt4, чтобы выполнить начальный метод. Я не хочу, чтобы метод вызывался в методе __init__
по ряду причин. Я потратил довольно много времени на поиски, но ответа так и не нашел. Я уверен, что есть простое решение, которое из-за моей неопытности я упускаю из виду, поскольку я могу сделать это в wxPython. Предложения?
Какой сигнал можно подключить к начальному диалоговому отображению в pyqt4 (qt)
Ответы (1)
При первом отображении сигнал не выдается, вместо этого вам придется перехватывать первые resizeEvent
или paintEvent
, перегружая эти методы (поскольку вы не хотите инициализировать из метода __init__
).
Другой вариант — добавить свой собственный метод showAndInit
, который инициализирует и затем вызывает show
.
person
e8johan
schedule
10.12.2009
Вы также можете перехватить метод showEvent, который будет вызываться, когда запланировано отображение диалогового окна (не совсем правильно, когда оно отображается).
- person Caleb Huitt - cjhuitt; 10.12.2009
Также, если вы не хотите создавать подклассы, вы можете перехватить все эти события с помощью фильтра событий, т.е. другого класса, который затем может инициировать инициализацию.
- person e8johan; 11.12.2009