簡體   English   中英

如何從 tkinter 輸入框中獲取整數?

[英]How to get an integer from a tkinter entry box?

我正在嘗試解決如何從 tkinter 輸入框中獲取值,然后將其存儲為整數。 這就是我所擁有的:

AnswerVar = IntVar()
AnswerBox = Entry(topFrame)
AdditionQuestionLeftSide = random.randint(0, 10)
AdditionQuestionRightSide = random.randint(0, 10)
AdditionQuestionRightSide = Label(topFrame, text= AdditionQuestionRightSide).grid(row=0,column=0)
AdditionSign = Label(topFrame, text="+").grid(row=0,column=1)
AdditionQuestionLeftSide= Label(topFrame, text= AdditionQuestionLeftSide).grid(row=0,column=2)
EqualsSign = Label(topFrame, text="=").grid(row=0,column=3)
AnswerBox.grid(row=0,column=4)
answerVar = AnswerBox.get()
    
root.mainloop() 
(


)

我想從 AnswerBox 獲取然后輸入,並將其存儲在整數變量“answer”中。 我怎樣才能做到這一點?

謝謝

由於您有一個與條目小部件關聯的IntVar ,您需要做的就是使用get方法get該對象的值:

int_answer = answer.get()

如果您不使用IntVar ,則可以獲取條目小部件的值並將其轉換為帶有int的整數:

string_answer = AnswerBox.get()
int_answer = int(string_answer)

要從 tkinter 中的 Entry 小部件獲取值,您可以調用小部件上的get()方法。 這將返回小部件的值。

所以你會做answer = AnswerBox.get()

我做過同樣的事情,但是會出現以下錯誤。

    Traceback (most recent call last):
  File "G:/Coding/Python/first-hit/Mangal's CAFE.py", line 228, in <module>
    print(int(x))
ValueError: invalid literal for int() with base 10: ''

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM