老师,麻烦看一下是哪里出了问题。按照操作,最后计算器显示页面0没有跨两列
from tkinter import *
class Application(Frame):
def __init__(self, master=None):
super().__init__(master) # super()代表的是父类定义,而不是父类对象
self.master = master # 定义master属性
self.pack()
self.create()
def create(self):
btnText = (('MC', 'M+', 'M-', 'MR'),
("C", '±', '/', 'x'),
(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 i, ii in enumerate(r):
if ii == '=':
Button(self, text=ii, width=2) \
.grid(row=rindex + 1, column=i, rowspan=2, sticky=NSEW)
elif ii == '0':
Button(self, text=ii, width=2) \
.grid(row=rindex + 1, column=i, columnspan=2, sticky=NSEW)
elif ii == '.':
Button(self, text=ii, width=2) \
.grid(row=rindex + 1, column=i+1, sticky=NSEW)
else:
Button(self, text=ii, width=2)\
.grid(row=rindex+1, column=i, sticky=NSEW)
if __name__ == '__main__':
root = Tk()
root.geometry("400x400+400+300")
root.title('计算器页面')
app = Application(master=root)
root.mainloop()