[英]How to pass a textbox entry to variables using tkinter in python
我有一些相當簡單的代碼來獲取urlstring的值。
我查看了所有其他問題,但似乎找不到可以適用的相關答案
一些代碼首先在Ipython控制台中出現,我期望它會在以后更改,並且確實在Ipython控制台中從按鈕按下時的硬編碼變量中獲取了一個值,但似乎無法將文本框的值添加到變量中,然后使用它們代替?
amount = '1'
cur1 = input('What Currency would you like to trade from? ')
cur2 = input('What Currency would you like to trade to? ')
cur1_1 = StringVar()
cur2_1 = StringVar()
#i = 0
#Textboxes for user input
txtcur1 = Entry(root, font="Helvetica 11 bold",bg="white", width=6, textvariable=cur1_1)
txtcur1.place(x=110, y=50)
txtcur2 = Entry(root, font="Helvetica 11 bold",bg="white", width=6, textvariable=cur2_1)
txtcur2.place(x=110, y=75)
#End
def results():
t = datetime.utcnow()
url1 = "http://www.xe.com/currencyconverter/convert/" + "?Amount=" + amount + "&From=" + cur1 + "&To=" + cur2
url2 = "http://www.xe.com/currencyconverter/convert/" + "?Amount=" + amount + "&From=" + cur2_1 + "&To=" + cur1_1
但是對於我一生,我無法將文本框中的變量放入變量cur1_1
和cur2_1
並且遇到了typeerror。
url2 = "http://www.xe.com/currencyconverter/convert/" + "?Amount=" + amount + "&From=" + cur2_1 + "&To=" + cur1_1
TypeError: must be str, not StringVar
當我將其更改為字符串時,它說必須是3位數字長,我以為這會比這簡單一些。 有什么幫助嗎?
同樣,一旦獲得了匯率的返回值,我就需要將它們轉換為decimal to 9
位decimal to 9
並顯示逗號以供貨幣使用。
您的問題似乎是您在使用cur1_1
和cur2_1
好像它們是字符串一樣,所以您應該調用它們的StringVar.get()
方法來訪問它們的字符串值。
一個簡單的例子:
import tkinter as tk
def show_text():
label_text.set('Heh, heh, heh, you said, "' + entry_text.get() + '"')
root = tk.Tk()
entry_text = tk.StringVar()
entry = tk.Entry(root, width=10, textvariable=entry_text)
entry.pack()
button = tk.Button(root, text="Click Me", command=show_text)
button.pack()
label_text = tk.StringVar()
label = tk.Label(root, textvariable=label_text)
label.pack()
root.mainloop()
在輸入框中輸入文本,然后單擊按鈕。 文本將在創建時通過與Entry
關聯的StringVar
的.get()
方法從輸入框傳輸到標簽。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.