# coding=utf-8
"""計算器軟件界面設計"""
from tkinter import *
from tkinter import messagebox
class Application(Frame):
def __init__(self, master=None):
super().__init__(master)
self.master = master
self.pack()
self.creatWidget()
def creatWidget(self):
"""實現計算器"""
btnText =(("mc","m+","m-","mr"),
("c","±","÷","*"),
(7,8,9,"-"),
(4,5,6,"+"),
(1,2,3,"="),
(0,".")
)
Entry(self).grid(row=0,column=0,columnspan=4,pady=10)
for rindex,r in enumerate(btnText):
for cindex,c in enumerate(r):
if c=="=":
# rowspan 跨行
# columnspan 跨列
Button(self,text=c,width=2).\
grid(row=rindex+1,column=cindex,rowspan=2,sticky=NSEW)
elif c==0:
Button(self, text=c, width=2). \
grid(row=rindex + 1, column=cindex, columnspan=2, sticky=NSEW)
elif c==".":
Button(self, text=c, width=2). \
grid(row=rindex + 1, column=cindex+1,sticky=NSEW)
else:
Button(self,text=c,width=2).\
grid(row=rindex+1,column=cindex,sticky=EW)
if __name__=="__main__":
root = Tk()
root.geometry("160x240+100+200")
app = Application(master=root)
root.mainloop()
# 學習grid布局 做了個小的計算器界面
# 體會 grid布局主要是根據坐標的位置來確定具體在哪里填充控件
# 尤其是對於cowspan 和 columnspan的操作使用
# 初學Python 如有不足 請多多指教