QGISのQtプラグインを書きました。その中に出力フォルダを参照するQPushButton browse_btn
があります。 私はQFileDialog.getExistingDirectory
関数を使用しており、すべて正常に動作します。しかし、プラグインを閉じてもう一度開くと、プッシュボタンをクリックしてパスを追加すると、パスを選択した後にパスを選択するための開いたウィンドウが再び開きます。私はオープンプラグイン閉じた場合は、再度「パスを選択]ウィンドウが3時間を再開のように...QFileDialogが再開し続ける
同様の問題is still open hereとin comments hereを、おそらくsolved hereが、私はそれを適用することはできませんありませんコードが存在しないためだろう私の問題を解決する。
正確なコードは以下の通りです:
self.dlg.browse_btn.clicked.connect(self.set_output)
def set_output(self):
folder_path = str(QFileDialog.getExistingDirectory(self.dlg, u"Pick a folder"))
if not folder_path:
return None
私が開閉するたびにプラグイン別々の接続がself.dlg.browse_btn.clicked.connect(self.set_output)
で作成された、と私はQGIS
にあなたの接続線を変更します。 – JLev
@JLev簡単なサンプルコードを提供していただけますか?私はちょうどQtを使い始めています – Vasily
なぜ信号が放射されるたびに信号を接続していますか?一度実行されるようなシグナル(ウィジェットのコンストラクタなど)を接続するだけで済みます。 – Mike