weixin_46166795 2020-02-17 11:48 采纳率: 0%
浏览 358

tkinter entry用于循环中,只有最后一个循环的get方法起作用

import tkinter as tk
from tkinter import ttk

root = tk.Tk()
def policy_btn():

    po_save = policy_choose.get()
    po_para = po_entry.get()
    if po_save == "环保投资比例":
        print("环保投资比例" + po_para)
    elif po_save == "节能投资比例":
        print("节能投资比例" + po_para)
    elif po_save == "能源税税率":
        print("能源税税率" + po_para)
    else:
        print("绿色信贷利率" + po_para)

num = 3        


i = 1
while i <= num:
    po_label1 = ttk.Label(root,text = "政策" + str(i))
    po_label1.grid(row = i+4, column = 0, sticky=tk.W)
    policy = tk.StringVar()   
    policy_choose = ttk.Combobox(root, textvariable=policy)
    policy_choose['values'] = ("环保投资比例", "节能投资比例", "能源税税率", "绿色信贷利率")     
    policy_choose.grid(row=i+4, column=1)  

    po_label2 = ttk.Label(root,text = "参数:")
    po_label2.grid(row = i+4, column = 2, sticky=tk.W)
    v = tk.StringVar()
    po_entry = ttk.Entry(root,textvariable = v)
    po_entry.grid(row = i+4, column = 3, sticky=tk.W)       

    btn2 = ttk.Button(root, text = "确定", command = policy_btn)
    btn2.grid(row = i+4, column = 4, sticky = tk.W)

    i+=1

root.mainloop()

怎样能每次循环都有效?主要是想得到用户每次的选项,然后依次print,如果有别的方法也可以

  • 写回答

1条回答 默认 最新

  • Python-ZZY 2021-08-27 17:43
    关注

    你可以使用不同的输入框和按钮,建议你查找一下eval 和 exec函数的资料,把它们结合用起来

    评论

报告相同问题?

悬赏问题

  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 Web.config连不上数据库
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退
  • ¥20 win系统的PYQT程序生成的数据如何放入云服务器阿里云window版?
  • ¥50 invest生境质量模块