qDialogButtonBoxに関するいくつかの質問があります。私のコードはまだ動作しますが、私はより良い洗練することができ、いくつかの部分があると考え、私はオンラインPyQt - QDialogButtonBoxのシグナルとツールチップ
class testDialog(QtGui.QDialog):
def __init_(self, parent=None):
...
self.init_ui()
self.signals_connection()
def init_ui(self):
...
self.buttonBox = QtGui.QDialogButtonBox()
self.buttonBox.addButton("Help", QtGui.QDialogButtonBox.HelpRole)
self.buttonBox.addButton("Apply", QtGui.QDialogButtonBox.AcceptRole)
self.buttonBox.addButton("Cancel", QtGui.QDialogButtonBox.RejectRole)
#
def signals_connection(self):
self.test_random.clicked.connect(self.test_rand)
# Is this the latest/correct way to write it?
self.buttonBox.accepted.connect(self.test_apply)
self.buttonBox.rejected.connect(self.test_cancel)
self.buttonBox.helpRequested.connect(self.test_help)
def test_apply(self):
print "I am clicking on Apply"
def test_cancel(self):
print "I am clicking on Cancel"
self.close()
def test_help(self):
print "I am clicking for Help!"
多くの情報を見つけていないです、次のように/私の質問は次のとおりです。
- を私の機能の下に - signals_connection()、私は
buttonBox
(コードがまだ動作しますが)..私はself.test_random
のために書いてきた信号のための かなり異なっていると私はqdialogbuttonboxのための任意の同様のオンラインを見つけることができません 思いがあり のために書いたライン私が持っている別のスタイルですund -self.connect(self.buttonBox, QtCore.SIGNAL("accepted()"), self, QtCore.SLOT("accept()"))
しかし私は それは古いスタイルだと思う??それ以外の場合は、正しい方法でなければなりません それを書いてください? 私の
test_cancel()
の機能では、self.close()
最高の アプリケーションを閉じる方法を書いていますか?dialog = testDialog();dialog.show()
を最後に、それは私が作成した3つのボタンに3種類のツールチップを追加することができ、: は次のように私は私のプログラムを実行する方法はありますか?私はそれにコマンドがあることを見た -
self.buttonBox.setToolTip("Buttons for life!")
しかし、これはすべての3つのボタンが同じツールチップを持つことになります。私はそれを個人として作ることはできますか?
私はQDialogButtonBoxによって与えられた標準のボタンを使用していないので、私はボタンを手動で 'addButton'を使って作成しますが、あなたが挙げたツールチップを設定するための最初のメソッドを使うことができません。しかし、テキストを使ってループするとうまくいきますが、これはうまくいきます! 'self.close()'や 'self.buttonBox.rejected.connect(self.reject)'を使っても、アプリケーションは閉じたままですが、メモリ内のどこにでも存在するでしょうか? – dissidia
@dissidiaはい、まだダイアログへの参照がある場合、ダイアログオブジェクトは引き続き存在し、引き続きサブコントロールとウィジェットにアクセスできます。参照を削除すると、最終的にガベージコレクションが行われ、存在しなくなります。 –
アプリケーションをクリーンクローズするにはどうすればよいでしょうか? – dissidia