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條經驗 獲得超22個贊
我以此結束。但如果我打?。╯tazionamenti_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()
添加回答
舉報