【发布时间】:2021-12-15 16:01:59
【问题描述】:
import threading
from PySimpleGUI import PySimpleGUI as sg
def thread2():
while (x == True):
if values["radio"] == True:
print("true")
def thread1():
tab1_layout = [
[sg.Radio('G', "RADIO1", default=True, size=(10,1), key='radio'), sg.Radio('R', "RADIO1")]
]
(...)
while True:
events, values = janela.read()
threading.Thread(target=thread1).start()
sleep(5)
threading.Thread(target=thread12).start()
我的代码是这样的 如何使用多线程和 pysimplegui 访问收音机的用户值选项?
错误: 名称“值”未定义
【问题讨论】:
-
你可以通过
threading.Thread(target=thread1, args=(values, )).start()传递参数,比如values,或者使用全局变量,或者类实例的属性。 -
这里不是 python 专家,但问题可能是使用了两个相似但不同的标识符吗?在 thread2 中,您测试一个名为 valores 的标识符,而在 thread1 中,您修改一个名为 values 的标识符。
-
@JasonYang 文件“C:\Users\noname\Desktop\code\OCR\ocr2.py”,第 421 行,在
threading.Thread(target=thread12, args=(values, )).start() NameError: name 'values' is not defined 就像这个变量从未定义过一样,即使我进入全局我也无法访问它 -
@JimRogers 我修好了,转录到 stackoverflow 时出错
标签: python multithreading pysimplegui