你确定要把第二个脚本作为单独的程序使用吗?如果必须,可以使用subprocess模块将变量作为命令行参数传递。在
设置GUI以使用按钮并回调如下内容:import subprocess
from Tkinter import *
import ttk
def btnCallback():
#this is the path to your other script
cmdpath = '/path/to/test.py'
#extract the textbox variable
var = stringadacercare.get()
progressbar.start()
#pass the variable to the command line
proc = subprocess.popen([cmdpath,var])
#block while the subprocess executes
proc.wait()
progressbar.stop()
app = Tk()
app.title('Myapp')
app.geometry('260x100+50+50')
labelText =StringVar()
labelText.set('Insert the version you want to check')
label1 = Label(app, textvar=labelText, height=4)
label1.pack()
stringadacercare = StringVar(None)
lastringa = Entry(app, textvar=stringadacercare)
lastringa.place(x=30, y=40, width=200)
progressbar = ttk.Progressbar(orient=HORIZONTAL, length=260, mode='determinate')
progressbar.pack(side='bottom')
#use a button to execute the subprocess
buttonOK = Button(app,text='GO',command=btnCallback)
buttonOK.pack(side='bottom')
app.mainloop()
重新构造测试脚本以接受命令行参数。您也可以将其导入gui应用程序并调用main函数,直接传递变量。在
^{pr2}$
如果要将测试例程用作模块而不是通过命令行使用,则可以为测试模块添加导入语句,并从按钮回调调用它。在...
import mytestmodule
def btnCallback():
#extract the textbox variable
var = stringadacercare.get()
progressbar.start()
#call the main function from the test module
mytestmodule.main(var)
progressbar.stop()
...