2016-12-30 3 views
1

QTextEditウィジェットウィンドウを閉じると関数に接続するにはどうしたらいいですか?PyQtのQTextEditを閉じるとメソッド/関数に接続します

マイコード:

self.textBox = QtGui.QTextEdit() 
self.textBox.setWindowTitle('Editor') 
self.textBox.setGeometry(100, 100, 1000, 500) 
self.textBox.show() 
self.textBox.???.connect(self.someFunc) #???? 

私が行う場合

self.textBox.close().connect(self.someFunc) 

それはすぐに閉じて、私が行う場合

AttributeError: 'bool' object has no attribute 'connect'

を言う

self.textBox.closeEvent(self.someFunc) 

それは

TypeError: QTextEdit.closeEvent(self.someFunc): argument 1 has unexpected type 'method'

どのように私はこの問題を解決することができます言いましたか?

+0

あなたが閉じるためにどのような行動を意味するのですか? – eyllanesc

+0

またはそれを含むウィジェットを閉じることを意味しますか? – eyllanesc

+0

これは私が実装したテキストエディタで、メインウィンドウのメニューバーから開きます。新しいウィンドウのように開きます。エディタが開いて何かをウィンドウに入力すると、エディタ(QTextEdit)ウィンドウが閉じられます。関数に接続する。 – learncode

答えて

1

これは最もエレガントな方法ではありませんが動作しますが、もう1つの方法はQTextEditから継承し、信号を発行してcloseEventメソッドを上書きすることです。

用途:

self.textBox = QTextEdit() 
    self.textBox.setWindowTitle('Editor') 
    self.textBox.setGeometry(100, 100, 1000, 500) 
    self.textBox.show() 
    self.textBox.closeEvent = self.function 

def function(self, e): 
    print("test") 
関連する問題