问题描述
我想在 7x4 自动调整大小的网格中显示下面的 28 个按钮。就目前而言,相等按钮显示了 28 次。我需要在 7x4 网格中显示所有 28 个不同的按钮。我用 row_index 和 col_index 变量配置了所有 28 个不同的按钮,但它仍然无法正常工作。如果您能帮助我找到正确的方向,我将不胜感激。
...
enter code here
类计算器(ttk.Frame) def init(自我): 根 = Tk() root.title("TK 的计算器") root.geometry("700x500")
Grid.rowconfigure(root,weight=1)
Grid.columnconfigure(root,weight=1)
root.resizable(True,True)
frame1 = Frame(root,bg="#80c1ff",bd=5)
frame1.grid(row=0,column=0,sticky="nsew")
for row_index in range(7):
Grid.rowconfigure(frame1,row_index,weight=1)
for col_index in range(4):
Grid.columnconfigure(frame1,col_index,weight=1)
buttonMC = Button(frame1,text="MC",height=3,width=5,command=MC)
buttonMC.grid(row=row_index,column=col_index,sticky="nsew")
buttonMC.configure(width=7,font=("Verdana",10,"bold"),fg="Navy")
MRButton = Button(frame1,text="MR",command=MR)
MRButton.grid(row=row_index,sticky="nsew")
MRButton.configure(width=7,fg="Navy")
MPlusButton = Button(frame1,text="M+",command=MPlus)
MPlusButton.grid(row=row_index,sticky="nsew")
MPlusButton.configure(width=7,fg="Navy")
percentButton = Button(frame1,text="%",command=percent)
percentButton.grid(row=row_index,sticky="nsew")
percentButton.configure(width=7,fg="Navy")
buttonModulo = Button(frame1,text="Mod",command=modulo)
buttonModulo.grid(row=row_index,sticky="nsew")
buttonModulo.configure(width=7,fg="Navy")
buttonSqRoot = Button(frame1,text="√(x)",command=squareRootOfx)
buttonSqRoot.grid(row=row_index,sticky="nsew")
buttonSqRoot.configure(width=7,fg="Navy")
button2ndPower = Button(frame1,text="x²",command=powerOf2)
button2ndPower.grid(row=row_index,sticky="nsew")
button2ndPower.configure(width=7,fg="Navy")
buttonOneOverX = Button(frame1,text="1/x",command=oneOverX)
buttonOneOverX.grid(row=row_index,sticky="nsew")
buttonOneOverX.configure(width=7,fg="Navy")
buttonCE = Button(frame1,text="CE",command=clearEntry)
buttonCE.grid(row=row_index,sticky="nsew")
buttonCE.configure(width=7,fg="Navy")
buttonClear = Button(frame1,text="C",command=clear)
buttonClear.grid(row=row_index,sticky="nsew")
buttonClear.configure(width=7,fg="Navy")
buttonDelete = Button(frame1,text="del",command=delete)
buttonDelete.grid(row=row_index,sticky="nsew")
buttonDelete.configure(width=7,fg="Navy")
buttonDivide = Button(frame1,text="/",command=divide)
buttonDivide.grid(row=row_index,sticky="nsew")
buttonDivide.configure(width=7,fg="Navy")
button7 = Button(frame1,text="7",command=lambda: buttonClick(7))
button7.grid(row=row_index,sticky="nsew")
button7.configure(width=7,fg="Navy")
button8 = Button(frame1,text="8",command=lambda: buttonClick(8))
button8.grid(row=row_index,sticky="nsew")
button8.configure(width=7,fg="Navy")
button9 = Button(frame1,text="9",command=lambda: buttonClick(9))
button9.grid(row=row_index,sticky="nsew")
button9.configure(width=7,fg="Navy")
buttonMultiply = Button(frame1,text="x",command=multiply)
buttonMultiply.grid(row=row_index,sticky="nsew")
buttonMultiply.configure(width=7,fg="Navy")
button4 = Button(frame1,text="4",command=lambda: buttonClick(4))
button4.grid(row=row_index,sticky="nsew")
button4.configure(width=7,fg="Navy")
button5 = Button(frame1,text="5",command=lambda: buttonClick(5))
button5.grid(row=row_index,sticky="nsew")
button5.configure(width=7,fg="Navy")
button6 = Button(frame1,text="6",command=lambda: buttonClick(6))
button6.grid(row=row_index,sticky="nsew")
button6.configure(width=7,fg="Navy")
buttonMinus = Button(frame1,text="-",command=subtract)
buttonMinus.grid(row=row_index,sticky="nsew")
buttonMinus.configure(width=7,fg="Navy")
button1 = Button(frame1,text="1",command=lambda: buttonClick(1))
button1.grid(row=row_index,sticky="nsew")
button1.configure(width=7,fg="Navy")
button2 = Button(frame1,text="2",command=lambda: buttonClick(2))
button2.grid(row=row_index,sticky="nsew")
button2.configure(width=7,fg="Navy")
button3 = Button(frame1,text="3",command=lambda: buttonClick(3))
button3.grid(row=row_index,sticky="nsew")
button3.configure(width=7,fg="Navy")
buttonAdd = Button(frame1,text="+",command=add)
buttonAdd.grid(row=row_index,sticky="nsew")
buttonAdd.configure(width=7,fg="Navy")
buttonPlusMinus = Button(frame1,text="+/-",command=plusMinus)
buttonPlusMinus.grid(row=row_index,sticky="nsew")
buttonPlusMinus.configure(width=7,fg="Navy")
buttonZero = Button(frame1,text="0",command=lambda: buttonClick(0))
buttonZero.grid(row=row_index,sticky="nsew")
buttonZero.configure(width=7,fg="Navy")
buttonDecimal = Button(frame1,text=".",command=decimal)
buttonDecimal.grid(row=row_index,sticky="nsew")
buttonDecimal.configure(width=7,fg="Navy")
buttonEquals = Button(frame1,text="=",command=equals)
buttonEquals.grid(row=row_index,sticky="nsew")
buttonEquals.configure(width=7,fg="Navy")
frame2 = Frame(root,bg="lightgrey",bd=5)
frame2.grid(row=0,column=1,sticky="nsew")
historyButton = Button(frame2,text="Clear History",fg="Navy",command=clearhistory)
historyButton.configure(font=("Verdana",12,fg="Navy")
historyButton.place(x=5,y=40)
memoryButton = Button(frame2,text="Memory",fg="navy",command=memory)
memoryButton.configure(font=("Verdana",fg="Navy")
memoryButton.place(x=135,y=40)
self.result = Entry(frame2,width=24,borderwidth=3)
self.result.configure(font=("Verdana",14))
self.result.grid(row=0,pady=5)
root.mainloop()
计算器() ...