PySide2でGUIシステムをつくっています。
あるQDockWidget(Widget1)がcloseするとき、予めhideしていたQDockWidget(Widget2)をshowする、という動作を実現したいのですが、つまづいています。
現在試している処理の流れは以下の通りです。
- 最初はWidget2が開かれており、途中でWidget1を開いた後に自身をhideする
- Widget1が自身をcloseする際にシグナル発火
- Widget2が自身をshow
しかし、下記のエラーが出てしまいます。
'PySide2.QtCore.Signal' object has no attribute 'connect'
下記はソースコードです。
Python
1class Widget1(QDockWidget):#Widget2がhideした後で開く。 2 closeSignal = Signal() 3 def __init__(self, file_name): 4 super(Widget1, self).__init__() 5 6 (中略:close_Widget1を実行するボタン設置) 7 8 def close_Widget1(self): 9 self.closeSignal.emit() 10 self.close() 11 12 13class Widget2(QDockWidget):#最初に開かれている。 14 def __init__(self, file_name): 15 super(Widget2, self).__init__() 16 17 (中略:widget1を開き、自身をhideする。) 18 19 Widget1.closeSignal.connect(self.widget1_show) 20 21 @Slot() 22 def widget1_show(self): 23 self.show() 24 25
色々調べてみても原因がわかりません・・・。
どなたかアドバイスをいただけますでしょうか。
尚、シグナルとスロットを使った処理にこだわっているわけではありませんので、
他の処理の方が良さそうであれば、そちらを試してみようと思います。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/21 14:09