Python 如何在列表框中插入两个小数点?

Python 如何在列表框中插入两个小数点?,python,tkinter,Python,Tkinter,我使用了三个变量(a=10.00,b=20.89,c=30.90)并将它们的值插入Multilistbox,但Multilistbox得到它们的值(10.0,20.89,30.9)。这就是为什么我添加了“{.2f}”.format,但我得到了以下错误: total = sum(self.lists[-1].get(0, END)) TypeError: unsupported operand type(s) for +: 'int' and 'str' 在我的例子中,{.2f}”。格式不起作用

我使用了三个变量(a=10.00,b=20.89,c=30.90)并将它们的值插入Multilistbox,但Multilistbox得到它们的值(10.0,20.89,30.9)。这就是为什么我添加了
“{.2f}”.format
,但我得到了以下错误:

total = sum(self.lists[-1].get(0, END))
TypeError: unsupported operand type(s) for +: 'int' and 'str'
在我的例子中,{.2f}”。格式不起作用

这是我的密码:

从tkinter导入*
从tkinter.ttk导入*
将tkinter作为tk导入
类MultiListbox(框架):
定义初始化(自、主、列表):
帧。\uuuu初始化(自,主)
自网格(sticky=“nsew”)
self.select\u index=None
i=2
对于枚举(列表)中的num(l,w):
self.grid\u columnconfigure(num,weight=w,uniform=fred')
i+=num
self.grid_rowconfigure(1,权重=1)
self.lists=[]
对于枚举(列表)中的num(l,w):
帧=帧(自身,边框宽度=0)
frame.grid\u columnconfigure(0,权重=1)
frame.grid_rowconfigure(1,权重=1)
frame.grid(行=1,列=num,sticky=“nsew”)
标签(框架,文本=l,字体=(“Vrinda(主体CS)”,11),边框宽度=1,浮雕=凹陷,锚定=“中心”,对齐=“中心”)。网格(行=0,列=0,粘性=“nsew”)
lb=列表框(框架,字体=(“Vrinda(正文CS)”,9),高度=5,边框宽度=1,选择边框宽度=1,导出选择=FALSE)
lb.grid(行=1,列=0,sticky=“nsew”)
self.lists.append(lb)
lb.bind(“”,λe,s=self:s.(选择(e.y))
lb.bind(“”,λe,s=self:s.(选择(e.y))
lb.bind('',lambda e:'断裂')
lb.bind(“”,λe,s=自:s.b2;运动(e.x,e.y))
lb.bind(“”,λe,s=自身:s._按钮2(e.x,e.y))
lb.bind('Button-4>',lambda e,s=self:s.(滚动,1页))
lb.bind('Button-5>',lambda e,s=self:s.\u滚动(滚动-1页))
lb.bind(“,self.onmouseheel)
sb_y=滚动条(self,orient=VERTICAL,command=self.\u yscroll)
sb_y.网格(行=1,行span=2,列=i,sticky=“nsew”)
self.lists[0]['yscrollcommand']=sb_y.set
ent_总计=条目(自身,宽度=0,对齐=“中心”)
ent_总计网格(行=2,列=0,列span=2,sticky=“nesw”)
插入(0,“总计”)
self.sum_value=StringVar(value=0)
ent\u sum\u value=Entry(self,width=0,textvariable=self.sum\u value)
ent_sum_value.grid(行=2,列=2,sticky=“nesw”)
sb_x=滚动条(self,orient=水平,command=self._xscroll)
sb_x.网格(行=3,列=0,列span=i,sticky=“ew”)
self.lists[0]['xscrollcommand']=sb_x.set
def_选择(自,y):
行=自身。列表[0]。最近的(y)
自选择\u清除(0,结束)
自选择集(行)
返回“中断”
def_按钮2(自身、x、y):
对于self.list中的l:l.scan_标记(x,y)
返回“中断”
def_b2运动(自、x、y):
对于self.list中的l:l.scan_dragto(x,y)
返回“中断”
def_yscroll(self,*args):
对于self.List中的l:
l、 yview(*args)
defxscroll(self,*args):
对于self.List中的l:
l、 xview(*args)
选举(自选):
返回self.lists[0].curselection()
def delete(自我、第一、最后=无):
对于self.List中的l:
l、 删除(第一个,最后一个)
def get(自我、第一、最后=无):
结果=[]
对于self.List中的l:
result.append(l.get(first,last))
如果最后一个:返回列表(映射(*[无]+结果))
返回结果
def索引(自我,索引):
self.lists[0]。索引(index)
def插入(自、索引、*元素):
对于元素中的e:
i=0
对于self.List中的l:
l、 插入(索引,e[i])
i=i+1
self.sum_值()
def大小(自身):
返回self.lists[0].size()
def见(自我,索引):
对于self.List中的l:
l、 见(索引)
def选择_锚(自身,索引):
对于self.List中的l:
l、 选择锚(索引)
def选择_清除(自身、第一个、最后一个=无):
对于self.List中的l:
l、 选择\u清除(第一个、最后一个)
def选择_包括(自身、索引):
返回self.lists[0]。选择内容包括(索引)
def选择_设置(自身、第一个、最后一个=无):
self.select_index=[第一个]
对于self.List中的l:
l、 选择集(第一个、最后一个)
def sum_值(自身):
总计=总和(self.lists[-1]。获取(0,结束))
自和值集(总计)
鼠标滚轮上的def(自身、事件):
对于self.List中的l:
l、 yview(“滚动”,事件增量,“单位”)
#这将防止触发默认绑定,而
#最终会将小部件滚动两次
返回“中断”
产品类别:
定义初始(自我,主):
self.frame=master
self.frame.configure(padx=5)
对于范围(0,1)中的i:
self.frame.grid\u columnconfigure(i,权重=1)
self.frame.grid_rowconfigure(1,权重=1)
self.\u init\u widgets()
def_init_小部件(自):
self.frame1=tk.Frame(self.Frame,浮雕=FLAT,边框宽度=1)
对于范围(0,1)中的i:
self.frame1.grid\u columnconfigure(i,权重=1)
对于范围(0,1)中的i:
self.frame1.grid_rowconfigure(i,权重=1)
self.mlb=多列表框(self.frame1(
('SL',1),('detacts',3),('Amount$',1)))
self.mlb.grid(行=0,列=0,sticky=“nsew”)
a=“{.2f}”。格式(10.00)
b=20.89
c=30.90
a1=(1,“苹果”,a)
b1=(2,“橙色”,b)
c1=(3,“橙色”,c)
自多层插入件(端部,a1)
自多层插入件(端部,b1)
自复式插入件(端部,c1)
self.frame1.grid(行=1,列=0,sticky=“nsew”,padx=1,pady=5)
def main():
app=tk.tk()
FormadProduct(应用程序)
app.mainloop()
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
main()
国际米兰