【Python】踩坑记录

问题一:

有问题的代码:(result_ei是一个由float组成的list)

result_ei=" ".join(result_ei)

出现如下错误:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Python38-32\lib\tkinter\__init__.py", line 1883, in __call__
    return self.func(*args)
  File "test1.py", line 46, in ast
    result_ei="".join(result_ei)
TypeError: sequence item 0: expected str instance, numpy.float64 found

改正成:

result_ei=" ".join('%s' %id for id in result_ei)

最前面的%s是指运用str()方法处理对象,而join()必须用字符串类型。不能直接将float填入。

问题二:

有问题的代码:

from tkinter import *
from tkinter import messagebox
window=Tk()
tx=Entry(window)
tx.grid(column=0,row=0)
l=Label(window,text=" a")
l.grid(column=1,row=1)
temp=tx.get()
def a():
    l.configure(text=temp)
b=Button(window,command=a,text=" asadda ")
b.grid(column=2,row=2)
window.mainloop()

效果:

而一旦将代码改成如下:

扫描二维码关注公众号,回复: 11335320 查看本文章
from tkinter import *
from tkinter import messagebox
window=Tk()
tx=Entry(window)
tx.grid(column=0,row=0)
l=Label(window,text="a")
l.grid(column=1,row=1)
def a():
    l.configure(text=tx.get())
b=Button(window,command=a,text=" asadda ")
b.grid(column=2,row=2)
window.mainloop()

效果就变成:

原理自己没有搞清楚,希望大神解答!

猜你喜欢

转载自www.cnblogs.com/coder106/p/13172237.html