3 回答
TA贡献1963条经验 获得超6个赞
问题是代码会立即执行,并且当stazionamenti_entry.get()被调用时,它基本上是一个空字符串""。int()需要一个有效的字符串,其中仅包含数字和可选的第一个减号。带有空格或空字符串或非数字字符的字符串会出现此错误。
该错误意味着“提供的字符串无法转换为 int”。
您可以做的是创建一个函数并在stazionamenti_entry.get()需要时调用它,并确保stazionamenti_entry. 更准确地说,您应该在您的函数中执行此avanti操作。
您可以在之前添加一些检查,stazionamenti_num= int(stazionamenti_str)例如:
if stazionamenti_str :
stazionamenti_num= int(stazionamenti_str)
这将确保字符串不为空。
应OP要求:
.
.
.
stazionamenti_label=Label(window, text="Stazionamenti: ").grid(column=0, row=1, stick=W)
stazionamenti_entry=Entry(window)
stazionamenti_entry.grid(column=1, row=1, stick=W)
#conversion stazionamenti
def helper():
global stazionamenti_num
global stazionamenti_entry
if stazionamenti_entry.get():
stazionamenti_num = int(stazionamenti_entry.get())
#avanti
def avanti():
helper()
print(stazionamenti_num)
avanti_btn=Button(window, text="Avanti", command=avanti).grid(columnspan=50, stick=E)
window.mainloop()
TA贡献1829条经验 获得超9个赞
你能试一下吗
binari_1 = Radiobutton(window, text="1", command=lambda:binari(int(info.get())),variable=info,value=1).grid(column=1, row=0) binari_2 = Radiobutton(window, text="2", command=lambda:binari(int(info.get())),variable=info,value=2).grid(column=2, row=0)
我认为IntVar()似乎有不同的方法或返回的对象。尝试使用int()
函数转换它
TA贡献1842条经验 获得超21个赞
我以此结束。但如果我打印(stazionamenti_num)它不会打印它@abdullahQureshee
#stazionamenti
stazionamenti_label=Label(window, text="Stazionamenti: ").grid(column=0, row=1, stick=W)
stazionamenti_entry=Entry(window)
stazionamenti_entry.grid(column=1, row=1, stick=W)
#conversion stazionamenti
global stazionamenti_str
global stazionamenti_num
stazionamenti_str=""
def stazionamenti_convert():
stazionamenti_num= int(stazionamenti_str)
#avanti
def avanti():
if stazionamenti_str:
stazionamenti_convert()
avanti_btn=Button(window, text="Avanti", command=avanti()).grid(columnspan=50, stick=E)
window.mainloop()
添加回答
举报