问题一:
有问题的代码:(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()
效果:
而一旦将代码改成如下:
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()
效果就变成:
原理自己没有搞清楚,希望大神解答!
原文:https://www.cnblogs.com/coder106/p/13172237.html