Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 按钮非事件驱动模型_Python_Pysimplegui - Fatal编程技术网

Python 按钮非事件驱动模型

Python 按钮非事件驱动模型,python,pysimplegui,Python,Pysimplegui,首先,我读了文件。我知道信息存储在Key=x中。我的问题是,当我从另一个文件调用函数时,它无法识别x。 我读过文档,但不知道如何使用密钥 我尝试将x放入一个变量并将其传递给函数 文件1 def add_details(): today1 = date.today() today2 = today1.strftime("%Y/%m/%d") create = str(today2) name = str(_name_) reason = str(_reaso

首先,我读了文件。我知道信息存储在Key=x中。我的问题是,当我从另一个文件调用函数时,它无法识别x。 我读过文档,但不知道如何使用密钥

我尝试将x放入一个变量并将其传递给函数

文件1

def add_details():
    today1 = date.today()
    today2 = today1.strftime("%Y/%m/%d")
    create = str(today2)
    name = str(_name_)
    reason = str(_reason_)
    startDate = str(_startDate_)
    endDate = str(_endDate_)
    add_data(create,name,reason,startDate, endDate)

def add_data(create,name,reason,startDate, endDate):
    engine.execute('INSERT INTO schedule(Created_On, Fullname, reason, Start_Date, End_Date ) VALUES (?,?,?,?,?)',(create,name,reason,startDate,endDate))
文件2

while True:      
    event, values = window.Read() 
    print(event, values)       
    if event in (None, 'Exit'):      
        break  
    if event == '_subdate_': #subdate is the button Submit 
        sf.add_details()
我的预期结果是GUI的输入被传递到函数,然后被传递到SQLite数据库

错误:未定义名称“name”
(或任何关键变量)

这是一个在韦小宝上运行的示例()

它显示了如何在元素中定义键以及如何在读取调用后使用键

将PySimpleGUI导入为sg
"""
设计模式2-多读窗口。读取和更新窗口中的字段
"""
#1-布局
layout=[[sg.Text('您键入的字符出现在这里:'),sg.Text(大小=(15,1),键='-OUTPUT-')],
[sg.Input(key='-IN-')],
[sg.按钮('Show')、sg.按钮('Exit')]]
#2-窗户
窗口=sg.窗口('模式2',布局)
#3-事件循环
尽管如此:
事件,值=window.read()
打印(事件、值)
如果事件处于(无,'退出'):
打破
如果事件==“显示”:
#将“输出”文本元素更新为“输入”元素的值
窗口['-OUTPUT-']。更新(值['-IN-'])
#在旧代码中,您会发现它是使用FindElement或Element编写的
#window.FindElement('-OUTPUT-').Update(值['-IN-']))
#可以在不使用“.update”的情况下编写此更新的缩短版本
#窗口['-OUTPUT-'](值['-IN-'])
#4-结束
window.close()

查看您的布局,以便显示您尝试使用的键,这将很有帮助。您缺少检索实际值的关键步骤。字段的值通过变量值返回。您尝试使用的键(name)应该写入was值['name']。这将给您定义为具有键“name”的输入元素的值。看看收集输入值并展示如何在文档中访问它们的基本PySimpleGUI设计模式