循环使用tkinter和forex-python进行货币转换
时间: 2023-07-31 15:10:41 浏览: 120
好的,我可以帮你解决这个问题。
以下是一个示例代码,它将创建一个循环的GUI界面,允许用户多次进行货币转换。每次转换结果将显示在界面上。
```python
import tkinter as tk
from forex_python.converter import CurrencyRates
c = CurrencyRates()
def convert():
amount = float(amount_entry.get())
from_currency = from_currency_var.get()
to_currency = to_currency_var.get()
result = c.convert(from_currency, to_currency, amount)
result_label.config(text=str(result))
root = tk.Tk()
root.title("Currency Converter")
amount_label = tk.Label(root, text="Amount:")
amount_label.grid(row=0, column=0)
amount_entry = tk.Entry(root)
amount_entry.grid(row=0, column=1)
from_currency_label = tk.Label(root, text="From Currency:")
from_currency_label.grid(row=1, column=0)
from_currency_var = tk.StringVar(root)
from_currency_var.set("USD")
from_currency_menu = tk.OptionMenu(root, from_currency_var, "USD", "EUR", "GBP", "JPY")
from_currency_menu.grid(row=1, column=1)
to_currency_label = tk.Label(root, text="To Currency:")
to_currency_label.grid(row=2, column=0)
to_currency_var = tk.StringVar(root)
to_currency_var.set("EUR")
to_currency_menu = tk.OptionMenu(root, to_currency_var, "USD", "EUR", "GBP", "JPY")
to_currency_menu.grid(row=2, column=1)
convert_button = tk.Button(root, text="Convert", command=convert)
convert_button.grid(row=3, column=0)
result_label = tk.Label(root, text="")
result_label.grid(row=3, column=1)
while True:
root.update()
root.update_idletasks()
```
这个程序使用了一个无限循环来保持GUI界面的运行。在循环中,使用`root.update()`和`root.update_idletasks()`方法来更新GUI界面。
当用户点击“Convert”按钮时,`convert()`函数将获取用户输入的转换信息并使用`CurrencyRates.convert()`方法来进行转换。转换结果将显示在`result_label`标签上。
注意:这个程序只是一个示例,你可以根据需要进行修改和扩展。同时,需要注意使用无限循环会导致程序无法正常结束,需要使用`root.destroy()`方法来结束循环。
阅读全文