我开始关注一个可指导的链接,并且我正在做一个练习,必须在Tkinter中编写计算器代码。但是我遇到了一个错误。
这是代码:
from tkinter import *
import tkinter
import tkinter.messagebox
from tkinter.ttk import Entry
def process():
try:
number1=Entry.get(E1)
number2=Entry.get(E2)
operator=Entry.get(E3)
number1=int(number1)
number2=int(number2)
if operator =="+":
answer=number1+number2
if operator =="-":
answer=number1-number2
if operator=="*":
answer=number1*number2
if operator=="/":
answer=number1/number2
Entry.insert(E4,0,answer)
print(answer)
except ValueError:
tkinter.messagebox.showwarning("Warning","Please enter the value in integer")
top = Tk()
L1 = Label(top, text = "Physics")
L1.place(x = 10,y = 10)
E1 = Entry(top,bd=5)
E1.grid(row=1,column=1)
L2 = Label(top, text="Number 1",).grid(row=1,column=0)
L3 = Label(top, text="Number 2",).grid(row=2,column=0)
L4 = Label(top, text="Operator",).grid(row=3,column=0)
L4 = Label(top, text="Answer",).grid(row=4,column=0)
E2 = Entry(top,bd =5)
E2.grid(row=2,column=1)
E3 = Entry(top,bd =5)
E3.grid(row=3,column=1)
E4 = Entry(top,bd =5)
E4.grid(row=4,column=1)
B=Button(top, text ="Submit",command = process).grid(row=5,column=1,)
top.mainloop()
这是完整的追溯:
File "f:/za/python/first.py", line 28, in <module>
E1 = Entry(top,bd=5)
File "D:\K.Hasan\Photos\New folder\lib\tkinter\ttk.py", line 669, in __init__
Widget.__init__(self, master, widget or "ttk::entry", kw)
File "D:\K.Hasan\Photos\New folder\lib\tkinter\ttk.py", line 557, in __init__
tkinter.Widget.__init__(self, master, widgetname, kw=kw)
File "D:\K.Hasan\Photos\New folder\lib\tkinter\__init__.py", line 2567, in __init__
self.tk.call(
_tkinter.TclError: unknown option "-bd"
有什么想法吗?
有人可以解决该错误吗?
谢谢。
答案 0 :(得分:2)
这是因为ttk.Entry
没有bd
选项。
请参阅文档here
您应该更改
from tkinter.ttk import Entry
到
from tkinter import Entry
⠀
⠀ 或者,您只需删除这一行:
from tkinter.ttk import Entry
因为您已经拥有:
from tkinter import *
然后它将起作用。希望能有所帮助:)