我一直在尝试创建一个将十六进制值转换为十进制值的GUI。
from tkinter import*
import tkinter as tk
def calc(s):
i = int(s, 16)
Label(root, text= str(i), font=('Helvetica', 12))
root = Tk()
root.title("Hexadecimal Converter")
Label(root,
text ="Hexadecimal to Decimal",
fg = "white",
bg = "gray61",
font = "Fixedsys 20 bold").pack()
button = tk.Button(root, text='Finish', width=25, command=root.destroy)
root.geometry("375x200")
instructions = Label(root, text="Type in a hexadecimal value", font=('Helvetica', 12))
instructions.pack()
e = Entry(root)
root.bind('<Return>', calc)
e.pack()
e.focus_set()
root.mainloop()
我打算让输入框取一个值,然后从基数16转换并在标签中返回。但是,我一直收到错误消息:
TypeError: int() can't convert non-string with explicit base
我只是python的初学者,所以我尝试将其更改为
def calc(s):
s = str(s)
i = int(s, 16)
并保持其余部分相同,但它也不起作用。
我有办法更改代码以便转换条目值吗?