在TkInter中创建计算器,文本字段替换按钮

2024-03-28 08:33:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用tkinter中的网格格式制作一个计算器,但是文本字段正在替换按钮。在

我是Python的初学者,只是被卡住了。在

这是我的源代码部分:

from Tkinter import*


#function for about menu 
def about():
    win2=Tk()
    win2.wm_title("About")
    l=Label(win2,text=" CAL-C ver 1.0 \n Developer. \n Mohd Sanad",padx=5,pady=40)
    l.pack()

win=Tk()#creating window
win.wm_title("CAL-C")#changing window title
#Initiliazing about menu button
menubar=Menu(win)
menubar.add_command(label="About",command=about)
win.config(menu=menubar)


v=StringVar()
e=Entry(win,textvariable=v)
e.grid(row=0,column=0,columnspan=3,sticky=W+E)
b1=Button(win,text="1")
b2=Button(win,text="2")
b3=Button(win,text="3")
b4=Button(win,text="4")
b5=Button(win,text="5")
b6=Button(win,text="6")
b7=Button(win,text="7")
b8=Button(win,text="8")
b9=Button(win,text="9")
b1.grid(row=1,column=0)
b2.grid(row=1,column=1)
b3.grid(row=1,column=2)
b4.grid(row=2,column=0)
b5.grid(row=2,column=1)
b6.grid(row=2,column=2)
b7.grid(row=3,column=0)
b8.grid(row=3,column=1)
b9.grid(row=3,column=2)

Tags: texttitlecolumnbuttonwintkgridcal
1条回答
网友
1楼 · 发布于 2024-03-28 08:33:58

下面的教程很好地了解了如何在TkInter中使用不同的布局管理器,还有一个关于如何创建计算器的示例。在

http://zetcode.com/gui/tkinter/layout/

编辑:

我认为文本字段取代按钮的原因是因为输入字段和前三个按钮放在同一行中,并且没有为文本字段指定列。我认为这会导致输入字段默认为0列,因此会替换按钮。在

您可以尝试将条目字段放在自己的行中,并使用columnspan将其拉伸到多个列上,然后添加sticky=W+E使其在列中展开,如下所示:

v=StringVar()
e=Entry(win,textvariable=v)
# the columnspan make the entry widget strech over more columns
e.grid(row=0, column=0, columnspan=4, sticky=W+E)

b1.grid(row=1,column=0, sticky=W+E)
b2.grid(row=1,column=1, sticky=W+E)
b3.grid(row=1,column=2, sticky=W+E)
b4.grid(row=2,column=0, sticky=W+E)
b5.grid(row=2,column=1, sticky=W+E)
b6.grid(row=2,column=2, sticky=W+E)
b7.grid(row=3,column=0, sticky=W+E)
b8.grid(row=3,column=1, sticky=W+E)
b9.grid(row=3,column=2, sticky=W+E)

下面是一个在我的计算机上正确呈现的示例:

^{pr2}$

相关问题 更多 >