質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

4930閲覧

Pysimpleguiでウィンドウが固まるのを解決したい

pussy_pussy

総合スコア22

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2020/07/10 10:36

前提・実現したいこと

Pysimpleguiにおいて、新たに表示したポップアップを閉じた後に、元のウィンドウが固まらないようにしたい

発生している問題・エラーメッセージ

ボタンを押して表示させたポップアップを終了させた後、元のウィンドウが固まって応答なしとなる

該当のソースコード

Python

1import PySimpleGUI as sg 2 3layout = [ 4 [sg.Button("テスト開始")] 5] 6window = sg.Window("単語暗記", layout) 7 8class TestPopup(): 9 10 def __init__(self): 11 self.layout = [ 12 [sg.Text("TEST",size=(20,1))], 13 [sg.Button("終了")], 14 ] 15 16 self.window =sg.Window(title="Test",layout=self.layout) 17 18 def Move(self): 19 while True: 20 event = self.window.read() 21 22 if event == sg.WIN_CLOSED or event == "終了": 23 break 24 25 self.window.close() 26 27 28#最初のwindowのメインループ 29while True: 30 event = window.read() 31 32 if event == sg.WIN_CLOSED or event == 'Cancel': 33 break 34 35 if event =="テスト開始": 36 popup1 = TestPopup() 37 38 popup1.Move() 39 40window.close()

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

event = window.read()

全角スペースが含まれていてエラーになりますが、
掲載されてるコードは実行してるコードと同じですか?


問題点: window.read() の戻り値の扱いが間違い(2か所)

print(event)

として、eventが期待通りの値かどうかを確かめてみましょう。
現状のコードではポップアップも開きません。

問題の現象自体は確認できませんでしたが、

解決策: 戻り値を正しく扱う事で解消するはずです。

python

1event, values = window.read()

投稿2020/07/10 11:06

teamikl

総合スコア8664

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pussy_pussy

2020/07/11 04:45

ありがとうございます。全角スペースは間違っていました。 戻り値のvaluesは入力をする時のみに使うものと思い込んでいて入れていませんでした
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問