我用PysimpleGUI创建了一个有多个按钮的GUI,其目的是用户单击一个按钮并继续处理其他任务,而第一个单击按钮上的操作正在运行,当单击按钮的操作完成时,thread退出(分发当前的thread), 代码正在抛出:RuntimeError:mainthread不在主循环中 有人能帮我创建_thread.start_new_thread进程并将其合并到主循环中吗?或者是一...
Thread(target=traffic_light_controller, args=(window,), daemon=True) controller_thread.start() while True: event, values = window.read(timeout=1000) # Timeout in milliseconds, 1000ms = 1 second if event == sg.WINDOW_CLOSED: break # 关闭窗口 window.close() 7.23 菜单 import PySimpleGUI...
elif event == 'Submit': text=values['deposit'];...;threading.Thread(target=run_selenium, args=(window, folder_or_file, paths[version], text)).start();... and one more arguemnt text in def run_selenium(window, file, driver, text):今天...
ifevent.startswith('Start'): threading.Thread(target=the_thread, args=(window,), daemon=True).start() ifevent == THREAD_EVENT: cp(f'Data from the thread ', colors='white on purple', end='') cp(f'{values[THREAD_EVENT]}', colors='white on red') window.close() if__name__ ==...
('请点击确认按钮')],[sg.Button('确认'),sg.Button('取消')]]window=sg.Window('确认键示例',layout)whileTrue:event,values=window.read()ifeventin(sg.WIN_CLOSED,'取消'):breakifevent=='确认':# 使用线程来处理长时间的操作thread=threading.Thread(target=long_running_task)thread.start()window....
('Start Tasks1'),sg.Button('Start Tasks2'),sg.Button('Exit')]]# 创建一个窗口window=sg.Window('PySimpleGUI Multiple Tasks Example',layout)# 创建一个线程和进程thread=None#process = None# 按钮点击事件处理程序whileTrue:event,values=window.read()ifevent=='Exit'orevent==sg.WIN_CLOSED:break...
_thread.start_new_thread(speak(a), ()) elif event == 'Stop': stop = True elif event == 'Exit' or event == sg.WIN_CLOSED: break 错误是: Exception ignored in thread started by: <_pydev_bundle.pydev_monkey._NewThreadStartupWithTrace object at 0x000001AF5370C400> ...
import threading thread = threading.Thread(target=my_thread_func) thread.start() 运行GUI事件循环:在主线程中运行GUI事件循环,以响应用户的交互操作。使用PySimpleGUI的read方法可以实现事件循环。例如,以下是一个简单的事件循环示例: 代码语言:txt 复制 ...
Thread(target=long_time_work, daemon=True).start() # 开启子线程 print("已调用耗时函数") elif event == "子线程更新": code_text = values["子线程更新"] # 获取代码文本 print(f"收到子线程更新事件,代码文本:{code_text}") exec(code_text) # 执行代码文本 window.refresh() # 刷新窗口 ...
It's important to use the "with" context manager so that resources are freed as quickly as possible, using the currently executing thread. PySimpleGUI uses tkinter. tkinter is very picky about who releases objects and when. The with takes care of disposing of everything properly for you. Th...