恢复条目输入,并在通过按下按钮调用的函数中使用它们

时间:2019-07-17 11:26:35

标签: python-3.x tkinter

我有两个带有两个不同命令的按钮。第一个允许我恢复列表中的Entry输入,第二个使我使用此列表作为参数调用函数。但是我看不到该函数的调用结果。

填充参数'a'和'b'的值后,我尝试打印'parameters [0]',但是由于关闭了tk窗口,所以没有输出。因此,我将指令“ root.destroy()”放在第一个按钮调用的函数的末尾,但是通过按下它,tk窗口被破坏了,所以我无法按下第二个按钮。我在第一个按钮的命令功能(即功能“ get”)中删除了“ root.destroy()”,并将其放在“执行”功能(即第二个按钮的命令功能)的末尾。后者必须调用脚本“ tests.py”,运行其唯一的功能“ tests2”,并输出“ parameters [0]”,但我没有任何输出。

这样做,目的是要知道第二个按钮调用的函数“ tests2”是否会知道列表“ parameters”。但是没有输出,我没有答案。

import tkinter as tk
import os
#from tests import  tests2

root = tk.Tk()              

# create scrolled frame
sf = ScrolledFrame(root, True, True)
sf.pack(fill='both', expand=True) # resize with window

all_entries= []

label=tk.Label(sf.inner, text="a").grid(row=2, sticky='w')
entry=tk.Entry(sf.inner)
entry.grid(row=2, column=1)
all_entries.append(entry)

label=tk.Label(sf.inner, text="b").grid(row=3, sticky='w')
entry=tk.Entry(sf.inner)
entry.grid(row=3, column=1)
all_entries.append(entry)

def get():
    global parameters
    temp=[float(entry.get()) for entry in all_entries]
    parameters=temp  
    return parameters

def execution():
    os.system('tests.py')
    root.destroy()

bouton_Valider =tk.Button(sf.inner, text="Valider les paramètres", fg="blue", command=get)
bouton_Valider.grid(row=39, column=1)

bouton_Executer = tk.Button(sf.inner, text="Exécuter le programme",   fg="red", command=execution)
bouton_Executer.grid(row=41, column=1)

root.mainloop()


def tests2(parameters):
     print(parameters[0])

0 个答案:

没有答案