#测试grid布局管理器
from tkinter import *
class Application(Frame):
def __init__(self,master=None): #master默认是None,实例化时传入参数root替换None
super().__init__(master)
self.master=master
self.pack()
self.createWidget()
def createWidget(self): #定义框内容以及属性
self.l0=Label(self,text="用户名")
#grid(row=0,column=0)--在0行0列放置
self.l0.grid(row=0,column=0)
#self.v=StringVar()
#self.e0 = Entry(self, textvariable=self.v)
#self.e0.grid(row=0, column=1)
Entry(self).grid(row=0, column=1)
self.l1 = Label(self, text="密码").grid(row=1, column=0)
#self.v1 = StringVar()
#self.e1 = Entry(self, textvariable=self.v1,show='*')
#self.e1.grid(row=1, column=1)
Entry(self,show='*').grid(row=1, column=1)
self.l2 = Label(self, text="用户名为手机号").grid(row=0, column=2)
Button(self,text="登录").grid(row=2, column=1,sticky=EW) #EW,沿东西方向都有
Button(self, text="取消").grid(row=2, column=2, sticky=E)
if __name__=="__main__":
root=Tk() #创建框大小、位置以及标题
app=Application(master=root)
root.title("grid")
root.geometry("400x120+450+200")
root.mainloop()
老师请问以下红框和绿框实现的功能是一样的,这个两个写法有什么区别呢?那是说明不需要设置变量StringVar()也可以吗?还是说在特定情况下才可以?
