Вопрос

Добрый день, питонисты и остальные программисты!

У меня есть два QMainWindows, разработанные и закодированные отдельно.Мне нужно:

  1. сначала показать
  2. по нажатию кнопки закрыть первое окно
  3. построить и отобразить второе окно, используя аргументы из первого

Я попытался создать третий класс для управления потоком, но он не понимает мою попытку сигнала/слота:

 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" )
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top