0

良い一日のpythonistasと残りのコーディング群衆、

別々に設計およびコーディングされた2つのQMainWindowsがあります。する必要がある:

  1. 最初に表示
  2. ボタンで-最初のウィンドウを閉じるを押します
  3. 最初の引数を使用して2番目のウィンドウを作成して表示します

フローを制御するために3番目のクラスを設計しようとしましたが、信号/スロットの試行を理解していません。

 QtCore.QObject.connect(self.firstWindow,QtCore.SIGNAL("destroyed()"),self.openSecondWindow)

教祖、私の困難を解決するための賢い方法や機知に富んだハックで私を教えてくれませんか。

乾杯。

4

2 に答える 2

1

答え:

最近、信号の接続に問題がありました。から括弧を削除すると、それが機能することがわかりましたQtCore.SIGNAL

これを変更してみてください:

QtCore.SIGNAL("destroyed()")

これに:

QtCore.SIGNAL("destroyed")

参照:

これは、Riverbank によると、「古いスタイル」のシグナル/スロットを使用しているためです。ドキュメントへの参照は次のとおりです。具体的には、これはあなたが探している行です:

QtCore.QObject.connect(a, QtCore.SIGNAL("PySig"), pyFunction)

また:

this.FirstWindowクラスの前に次の行があることを確認してください__init__(self...):

__pyqtSignals__ = ( "destroyed" )
于 2009-08-12T12:32:08.967 に答える
0

さて、コントロールクラスは諦めました(次回はコントロールを先に作って、その後でウィンドウを作ります)

代わりに、秒のコンストラクター シードを最初のコンストラクターのボディに注入し、次にself.close()若い母親のボディに注入することによって、ウィンドウを結合しました。とても悲劇的です。

于 2009-08-12T16:21:03.940 に答える