python定义子函数_在子函数中定义python全局变量

我能让原始代码正常工作。我不得不在错误的地点进行全球申报。。。我还必须首先在主循环中定义变量。我知道有一种更优雅的方式来做这件事,但它很管用。在for i in xrange(1,100):

exec('var1_' + str(i) + ' = Tkinter.IntVar()')

exec('var2_' + str(i) + ' = Tkinter.IntVar()')

exec('var3_' + str(i) + ' = Tkinter.IntVar()')

exec('var4_' + str(i) + ' = Tkinter.IntVar()')

exec('var5_' + str(i) + ' = Tkinter.IntVar()')

exec('var6_' + str(i) + ' = Tkinter.IntVar()')

def NewWindow():

IPoints=int(Entry1.get())

NumPoints=IPoints+1

MaxComp=IPoints*6

master = Tkinter.Toplevel()

master.title("Select Unit Load Components")

Label(master, text="Interface Points ").grid(row=0,column=0, sticky=W)

Label(master, text="FX").grid(row=0,column=1, sticky=W)

Label(master, text="FY").grid(row=0,column=2, sticky=W)

Label(master, text="FZ").grid(row=0,column=3, sticky=W)

Label(master, text="MX").grid(row=0,column=4, sticky=W)

Label(master, text="MY").grid(row=0,column=5, sticky=W)

Label(master, text="MZ").grid(row=0,column=6, sticky=W)

def var_states():

exec('global var1_' + str(i)) in globals(), locals()

exec('global var2_' + str(i)) in globals(), locals()

exec('global var3_' + str(i)) in globals(), locals()

exec('global var4_' + str(i)) in globals(), locals()

exec('global var5_' + str(i)) in globals(), locals()

exec('global var6_' + str(i)) in globals(), locals()

print("FX: %d, FY: %d, FZ: %d, MX: %d, MY: %d, MZ: %d" % (var1_15.get(), var2_15.get(), var3_15.get(),var4_15.get(), var5_15.get(), var6_15.get()))

for i in xrange(1,NumPoints):

Label(master, text="PT_%d: " % i).grid(row=i,column=0, sticky=W)

exec('Checkbutton(master, text=" ", variable=var1_' + str(i) + ').grid(row=i,column=1, sticky=W)') in globals(), locals()

exec('Checkbutton(master, text=" ", variable=var2_' + str(i) + ').grid(row=i,column=2, sticky=W)') in globals(), locals()

exec('Checkbutton(master, text=" ", variable=var3_' + str(i) + ').grid(row=i,column=3, sticky=W)') in globals(), locals()

exec('Checkbutton(master, text=" ", variable=var4_' + str(i) + ').grid(row=i,column=4, sticky=W)') in globals(), locals()

exec('Checkbutton(master, text=" ", variable=var5_' + str(i) + ').grid(row=i,column=5, sticky=W)') in globals(), locals()

exec('Checkbutton(master, text=" ", variable=var6_' + str(i) + ').grid(row=i,column=6, sticky=W)') in globals(), locals()

Button(master, text='Show', command=var_states).grid(row=100, sticky=W, pady=4)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值