PYQT5ファイルピッカーを使用しようとしていますが、紛失しているものがあります。私は2つの問題があります。最初は、ファイルダイアログボックスが開き、ファイルを選択するときです。プログラム全体がクラッシュし、AttributeError: 'list' object has no attribute 'seek'
とQWaitCondition: Destroyed while threads are still waiting
が端末に表示されます。 2番目は、ファイルダイアログでキャンセルを押すと、プログラム全体がクラッシュし、nboundLocalError: local variable 'newdata' referenced before assignment
とQWaitCondition: Destroyed while threads are still waiting
と表示されます。私が望むのは、ダイアログをポップアップしてファイルを選択し、そのファイルの内容をその変数にロードさせることです。私は何がうまくいかないのか分かりません。私は現在のコードを以下に掲載しました。どんなアドバイスや助けも大歓迎です。GUIファイルピッカー
def open(self):
options = QFileDialog.Options()
options |= QFileDialog.DontUseNativeDialog
try:
fileToOpen = QFileDialog.getOpenFileNames(self,"Open File", "","All Files (*);;Python Files (*.py)", options=options)
except:
pass
pdb.set_trace()
if fileToOpen:
with ZipFile(fileToOpen, 'r') as myzip:
json_data_read = myzip.read('digest.json')
newdata = json.loads(json_data_read)
Functions.Loads = newdata[1]
[最小限で完全で検証可能なサンプルの作成方法](http://stackoverflow.com/help/mcve)をご検討ください。 – Matho
期待している特定の例外を除いて 'except'を使用しないでください。単に例外を無視するだけではありません。示されたコードでは、 'fileToOpen'が定義されていないため、このように処理された例外(not)はフォローアップ例外につながります。これは 'UnboundLocalError'につながります。 – BlackJack
@BlackJack、それを説明してくれてありがとう。私は実際にそのエラーに遭遇し、このポストからそれを修正しました。私は常に私のコーディングの実践を改善しようとしているので、コメントに感謝します。 – laxer