Используйте Режим редактирования сигналов и слотов для подключения предопределенных сигналов Qt непосредственно к предопределенным слотам Qt.
Так что для кнопки «Закрыть» в простом диалоге вы можете просто перетащить соединение изнажмите кнопку в диалоговом окне, выберите сигнал clicked()
и слот reject()
, нажмите «ОК», и вам больше нечего будет делать.
Для сигналов и / или слотов, которые вы хотите определить самиВам не нужно ничего заранее «готовить» в Designer.Все должно быть сделано в вашем собственном коде.
Ваш пример уже демонстрирует это довольно хорошо, но соединение может быть сделано намного проще и чище, как это:
self.myWidget.HelloWorldButton.clicked.connect(self.slot1)
Что касается вашегоГлавное окно имеет «неправильный размер»: это трудно определить по показанному вами коду, но это может быть связано с тем, что вы не установили макет в загружаемом виджете.
Кстати: есть?конкретная причина, по которой вы используете QUiLoader
?Компиляция модулей Python с использованием pyuic4
гораздо более гибкая, и вы можете многому научиться из сгенерированного кода.
EDIT
Для меня настройка макетав основной форме устраняет проблему изменения размера, о которой вы говорите.
Если вы не знаете, как это сделать: в Designer щелкните правой кнопкой мыши пустую часть основной формы и выберите Layout/Layout in a Grid
из меню (для этого есть также кнопка на панели инструментов).
Как только вы это сделаете, изменение размера формы автоматически растянет ее, чтобы она соответствовала содержащимся виджетам.