Python 如何在使用列表创建的tkinter条目中插入文本?

Python 如何在使用列表创建的tkinter条目中插入文本?,python,list,tkinter,Python,List,Tkinter,我已经创建了一个gui来计算产品的剂量带剂量,第一个项目运行良好,但是我在msg框架上得到了以下错误:文件“doseband.py”,第27行,在剂量带中 ent.delete(0,tk.END) AttributeError:“非类型”对象没有属性“删除” 以下是完整的代码: import tkinter as tk from tkinter import ttk from tkinter import * from tkinter.messagebox import * w3 = ([33

我已经创建了一个gui来计算产品的剂量带剂量,第一个项目运行良好,但是我在msg框架上得到了以下错误:文件“doseband.py”,第27行,在剂量带中 ent.delete(0,tk.END) AttributeError:“非类型”对象没有属性“删除”

以下是完整的代码:

import tkinter as tk
from tkinter import ttk
from tkinter import *
from tkinter.messagebox import *

w3 = ([33, 37], [38, 45], [46, 54], [55, 62], [63, 74], [75, 79], [80, 90], [91, 95], [96, 111], [112, 125], [126, 147], [148, 159], [160, 185])
db3 = [100, 125, 150, 175, 200, 225, 250, 275, 300, 325, 350, 400, 450, 500]
w5 = ([40, 44], [45, 47], [48, 52], [53, 57], [58, 66], [67, 75], [76, 88], [89, 95], [66, 109], [110, 115], [116, 133], [134, 155], [156, 177])
db5 = [200, 225, 250, 275, 300, 350, 400, 450, 500, 550, 600, 700, 800]
w10 = ([40, 44], [45, 47], [48, 54], [55, 57], [58, 66], [67, 77], [78, 88], [89, 99], [100, 110], [111, 115], [116, 125], [126, 135], [136, 145], [146, 155], [156, 160])
db10 = [400, 450, 500, 550, 700, 800, 900, 1000, 1100, 1200, 1300, 1400, 1500, 1600]

entries = ['Infliximab dose to draw', 'Number of inflximab vials', 'mL if saline to be drawn \n from 250mL bag']
rbuttons = [' 3mg/kg', ' 5mg/kg', '10mg/kg']

def dose_band():
    weight = float(weight_entry.get())
    dose = "n/a"
    peso = var.get()
    if peso == ' 3mg/kg':
        for index, bracket in enumerate(w3):
            if bracket[0] <= weight <= bracket[1]:
                dose = db3[index]
                inf_dose_entry.delete(0, tk.END)
                inf_dose_entry.insert(0, dose)
                inf_dose_entry.insert(tk.END, "mg")
                ent.delete(0, tk.END)
                ent.insert(0, (dose/10))


    if peso == ' 5mg/kg':
        for index, bracket in enumerate(w5):
            if bracket[0] <= weight <= bracket[1]:
                dose = db5[index]
                inf_dose_entry.delete(0, tk.END)
                inf_dose_entry.insert(0, dose)
                inf_dose_entry.insert(tk.END, "mg")
    if peso == '10mg/kg':
        for index, bracket in enumerate(w10):
            if bracket[0] <= weight <= bracket[1]:
                dose = db10[index]
                inf_dose_entry.delete(0, tk.END)
                inf_dose_entry.insert(0, dose)
                inf_dose_entry.insert(tk.END, "mg")


#sets window
window = Tk()
window.title("Dose Banded Infliximab Calculator")

#sets Frames
content = ttk.Frame(window, borderwidth = 5, relief = "ridge", padding =(3, 3, 12, 12))
content.grid(column = 0, row = 0, sticky = (N, S, E, W))
results = ttk.Frame(window, borderwidth = 5, relief = "ridge", padding = (3, 3, 12, 12))
results.grid(column=0, row=1, sticky= (N, S, E, W))
msg = ttk.Frame(window, borderwidth = 5, relief = "ridge", padding = (3, 3, 12, 12))
msg.grid(column = 0, row = 2, sticky = (N, S, E, W))

weight = ttk.Label(content, text = "Weight in kg?    ", font = ('Arial', 15, 'bold')).grid(column = 0, row = 0, sticky = (N, W), padx = 5, pady = 5)
weight_entry = tk.StringVar()
weight_entry = ttk.Entry(content, font = ('Arial', 15), width = 10)
weight_entry.grid(column = 2, row = 0, sticky = (N, S, E, W), padx = 5, pady = 5)

var = tk.StringVar()
for r in range(len(rbuttons)):
    tk.Radiobutton(content, text = rbuttons[r], font = (15), variable = var, value = rbuttons[r], indicatoron = 0).grid(row = (r + 2), column = 2, sticky = (N, S, E, W))

inf_dose = tk.Button(results, text = "Infliximab dose", font = ('Arial', 15, 'bold'), command = dose_band).grid(column = 0, row = 20,sticky = (N, W), padx = 5, pady = 5)
inf_dose_entry = ttk.Entry(results, font = ('Arial', 15), width = 10)
inf_dose_entry.grid(column = 2, row = 20, sticky = (N, S, E, W), padx = 5, pady = 5)


for i in range(len(entries)):
    lab = ttk.Label(msg, text = entries[i], font = ('Arial', 15)).grid(row = i, column = 0, sticky = (N, S, E, W))
    ent = ttk.Entry(msg, font = ('Arial', 15)).grid(row = i, column = 1, sticky = (N, S, E, W))





window.columnconfigure(0, weight = 3)
window.columnconfigure(1, weight = 3)
content.columnconfigure(0, weight = 3)
content.columnconfigure(1, weight = 3)
content.columnconfigure(2, weight = 3)
results.columnconfigure(0, weight = 3)
results.columnconfigure(1, weight = 3)
results.columnconfigure(2, weight = 3)






window.mainloop()
将tkinter作为tk导入
从tkinter导入ttk
从tkinter进口*
从tkinter.messagebox导入*
w3=([33,37]、[38,45]、[46,54]、[55,62]、[63,74]、[75,79]、[80,90]、[91,95]、[96111]、[112125]、[126147]、[148159]、[160185])
db3=[100125150175200225250275300325350400450500]
w5=([40,44]、[45,47]、[48,52]、[53,57]、[58,66]、[67,75]、[76,88]、[89,95]、[66,109]、[110,115]、[116,133]、[134,155]、[156,177])
db5=[200225250275300350400450500550600700800]
w10=([40,44]、[45,47]、[48,54]、[55,57]、[58,66]、[67,77]、[78,88]、[89,99]、[100,110]、[111,115]、[116,125]、[126,135]、[136,145]、[146,155]、[156,160])
db10=[4004505005507008009001000110012001300 1400 15001600]
条目=['英夫利昔单抗提取剂量','英夫利昔单抗瓶数','如果从250mL袋中提取生理盐水,则为mL']
rbuttons=['3mg/kg','5mg/kg','10mg/kg']
def剂量带():
权重=浮动(权重\条目.get())
dose=“不适用”
比索=var.get()
如果比索=‘3mg/kg’:
对于索引,枚举中的括号(w3):
如果括号[0]请尝试此操作

ent = ttk.Entry(msg, font = ('Arial', 15))
ent.grid(row = i, column = 1, sticky = (N, S, E, W))

您已经创建了此列表,但我看不到您在哪里使用它。也许我错了,就像你在这个列表上做了太多的工作,而现在他们什么都不做?不知道嗨,有问题的列表是这样的:条目=['Infliximab要提取的剂量','inflximab瓶的数量','mL如果生理盐水要从250mL袋中提取\n这是创建条目的循环:对于范围内的i(len(条目)):lab=ttk.Label(msg,text=entries[i],font=('Arial',15)).grid(行=i,列=0,粘性=(n,S,E,W))Entry=ttk.Entry(msg,font=('Arial',15)).grid(row=i,column=1,sticky=(N,S,E,W))它是有效的,谢谢,我在过去曾经被它咬过,应该想到它