
"""计算器软件界面的设计"""
from tkinter import * # 定义了图像用户界面GUI模块
from tkinter import messagebox
class Application(Frame): # 定义一个应用类(Application)它的父类是一个容器(Frame)
"""一个经典的GUI程序的类的写法"""
def __init__(self, master=None): # 构造器用来构造属性
super().__init__(master) # Frame不会自动调用父类所以需要super(),super()代表的是父类的定义,而不是父类对象
self.master = master
self.pack()
self.createWidget()
def createWidget(self):
"""通过grid布局实现计算器的界面设计"""
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 == "=":
Button(self, text=c, width=6).grid(row=rindex + 1, column=cindex, rowspan=2, sticky=NSEW)
elif c == 0:
Button(self, text=c, width=6).grid(row=rindex + 1, column=cindex, columnspan=2, sticky=NSEW)
elif c == ".":
Button(self, text=c, width=6).grid(row=rindex + 1, column=cindex+1, sticky=NSEW)
else:
Button(self, text=c, width=6).grid(row=rindex+1, column=cindex, sticky=NSEW)
if __name__=="__main__":
root = Tk() # 启动窗口
root.geometry("230x230+300+300") # 设置窗口的大小
root.title("计算器") # 窗口名
app = Application(master=root)
root.mainloop()
老师怎么把白色框给占满?这和按钮不对称,看着不得劲