fanshinee 2019-09-19 20:46 采纳率: 66.7%
浏览 2012

在Python的GUI(tkinter)中,使用for循环添加多给个Entry组件,如何能够对这多个组件在光标离开后(focusout)进行验证?

在Python的GUI(tkinter)中,使用for循环添加多给个Entry组件,如何能够对这多个组件在光标离开后(focusout)进行验证?
代码如下:

from tkinter import *
from tkinter import messagebox

B_number = []
def C():
    def row():
        obtain_number = row_number.get()            
        if obtain_number.isdigit():
            if eval(obtain_number) > 10:
                    messagebox.showinfo("提示","输入行数太多!,最多总计10行")
                    row_number.delete(0,END)
                    row_number.insert(0,"2")
            else:
                def judge_B(event):
                    if B.get().isdigit():
                        print("成功")
                    else:
                        messagebox.showerror("错误","重新输入")
                a = eval(obtain_number)+1
                for i in range(1,a):      
                    B = Entry(add)
                    B.bind("<FocusOut>",judge_B)
                    B_number.append(B)
                    B.grid(row = len(B_number)+1,column = 2)                    
        else:
            messagebox.showerror("错误","字符不合法,已修改为2!")
            row_number_ene.delete(0,END)
            row_number_ene.insert(0,"2")

    add = Tk()
    add.title("行业绿色制造分级判定系数")
    add.geometry("500x500")

    Label(add,text = "行数: ").grid(row = 0,column = 0,padx = 5,pady = 10)
    row_num = StringVar()
    row_num.set("2")
    row_number = Entry(add,textvariable = row_num,bg = "grey",width = 7,
                       justify = CENTER)
    row_number.grid(row =0,column = 1,pady = 10)

    Button(add,text = "增加多行",command = row).grid(row = 0,
                                        column = 2,pady = 10)
C()


存在问题,假设我添加两行,然后对每一行输入1,循环输入(即,第一行输入1-第二行输入1-第一行输入1-第二行输入1,第一行输入a,第二行输入a,第一行输入a,第二行 输入a,每次输入后,点上面行数 (避免多次点击))
输出结果依次为:
报错;(这里应该是成功才对)
成功;
成功;
成功;
成功;(这里应该报错才对)
报错;
报错;
报错
小弟没有C币,还希望大神能帮忙解决下,小弟在此先行感谢

  • 写回答

1条回答

  • 关注
    评论

报告相同问题?

悬赏问题

  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序