Объединение двух QMainWindows
-
13-09-2019 - |
Вопрос
Добрый день, питонисты и остальные программисты!
У меня есть два QMainWindows, разработанные и закодированные отдельно.Мне нужно:
- сначала показать
- по нажатию кнопки закрыть первое окно
- построить и отобразить второе окно, используя аргументы из первого
Я попытался создать третий класс для управления потоком, но он не понимает мою попытку сигнала/слота:
QtCore.QObject.connect(self.firstWindow,QtCore.SIGNAL("destroyed()"),self.openSecondWindow)
О, гуру, не могли бы вы подсказать мне какой-нибудь умный способ или остроумный способ решить мои трудности?
Ваше здоровье.
Решение 2
Ну а от класса управления я отказался (в следующий раз первым делом сделаю управление и только после этого окна)
Вместо этого соединили окна, внедрив семя конструктора секунд в тело первого, а затем self.close()
молодая мать.Так трагично.
Другие советы
Отвечать:
Недавно у меня возникли проблемы с подключением сигналов.Я обнаружил, что это сработало, когда я удалил круглые скобки из QtCore.SIGNAL
.
попробуйте изменить это:
QtCore.SIGNAL("destroyed()")
к этому:
QtCore.SIGNAL("destroyed")
Ссылка:
Это потому, что вы используете сигналы/слоты «старого стиля», согласно Riverbank.Вот ссылка на документы.В частности, это строка, которую вы ищете:
QtCore.QObject.connect(a, QtCore.SIGNAL("PySig"), pyFunction)
Также:
Убедитесь, что ваш this.FirstWindow
класс имеет эту строку перед вашим __init__(self...)
:
__pyqtSignals__ = ( "destroyed" )