PYSimpleGUIにて作成したボタンを押すと、(決まった時刻に実行される)他プログラムを呼び出して実行するというアプリを作成したいのですが、ボタンを押すと"応答なし"というコメントが表示されたまま、GUIの画面がフリーズしてしまいます。
例として、毎朝8:00に「おはよう」と出力されるアプリをPYSimpleGUIで作成する場合、以下のプログラムをどのように修正すれば宜しいでしょうか。
※ なお、2つのプログラムの関係性は変更しないままで修正する方法ありますでしょうか。
また、呼び出される側はスケジュールされたプログラムとしたいです。
<PYSimpleGUI側(呼び出す側のモジュール)のコード>
import PySimpleGUI as sg
import main
layout = [
[sg.Text('実行ボタンを押してください')],
[sg.Submit(button_text='実行', size=(20,1))],
]
window = sg.Window('おはようアプリ', layout)
while True:
event, values = window.read()
if event is None: print('exit') break if event == '実行': main.sub()
window.close()
<呼び出される側のプログラム(main.py)>
import schedule
import time
def sub():
def job():
print("おはよう!")
schedule.every().day.at("08:00").do(job) while True: schedule.run_pending() time.sleep(60)
Pythonを独学で勉強したばかりで、質問の内容もうまく伝えらていないかもしれませんが、
どうにもならず、大変困っております。
よろしくお願いします。
(なお、利用環境はWindows10proでツールはPython3.9になります)

回答2件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。
2021/05/19 04:17 編集
2021/05/19 14:31
2021/05/19 14:44
2021/05/19 15:07 編集
2021/05/19 15:27 編集
2021/05/19 15:37