tkinter.tclError未知选项“ -bd”

时间:2020-06-12 03:19:57

标签: python tkinter

我开始关注一个可指导的链接,并且我正在做一个练习,必须在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"

有什么想法吗?

有人可以解决该错误吗?

谢谢。

1 个答案:

答案 0 :(得分:2)

这是因为ttk.Entry没有bd选项。

请参阅文档here

您应该更改

from tkinter.ttk import Entry

from tkinter import Entry

⠀ 或者,您只需删除这一行:

from tkinter.ttk import Entry

因为您已经拥有:

from tkinter import *

然后它将起作用。希望能有所帮助:)