python向文本框text值_我想将输入文本框的值传递给python程序

您确定要将第二个脚本用作单独的程序吗?如果必须,可以使用子进程模块将变量作为命令行参数传递。

设置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函数,直接传递变量。

import csv

import re

import os

#need the sys module to get the command line args

import sys

def main(testV):

fileobj = csv.reader(open('c:\\paths1.csv', 'rb'), delimiter=' ', quotechar='|')

for row in fileobj:

for x in row:

with open(x) as f:

for line in f:

if re.match(testV, line):

print 'The version match: '+ line

else:

print 'wrong version'

filesize= os.path.getsize(x)

print 'The file size is :'+ str(filesize) +' bytes'

if __name__=='__main__':

#get the first command line argument and pass it to main

testV = sys.argv[1]

main(testV)如果要将测试例程用作模块而不是命令行,则可以为测试模块添加import语句,并从按钮回调中调用它。

...

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()

...

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值