"""
------------------------------------
Entry_StringVar 登录界面设计
------------------------------------
"""
from tkinter import *
from tkinter import messagebox # 导入消息盒子模块
class Application(Frame):
"""一个经典的GUI程序的类的写法 """
def __init__(self, master=None):
super().__init__(master)
"""
super()表示调用的父类的定义,不是父类的对象。
Application虽然传递自Frame方法,但是不会主动调用。
"""
self.master = master
self.pack()
self.createWidget()
def createWidget(self): #定义用于生成按钮
"""创建新的组件"""
self.label01 = Label(self, text="账号", font=("黑体", 8)).pack()
# StringVar变量绑定到指定的组件;
# StringVar变量的值发生变化,组件内容也变化;
# 组件内容发生变化,StringVar变量的值也发生变化。
v1 = StringVar()
self.entry01 = Entry(self, textvariable=v1).pack()
v1.set("admin")
print(v1.get());print(self.entry01.get())
self.label02 = Label(self, text="密码", font=("黑体", 8)).pack()
v2 = StringVar()
self.entry02 = Entry(self, textvariable=v2, show="*").pack()
self.btn = Button(self, text="确定", font=("黑体", 8), command=self.login).pack()
def login(self):
usename=self.entry01.get()
pwd=self.entry02.get()
print("去数据库对比账号密码")
print("账号:",usename)
print("密码:",pwd)
if usename=="abcde" and pwd=="123456":
messagebox.showinfo("尚学堂登录系统", "登录成功!") # 弹出消息盒子
else:
messagebox.showinfo("登录失败!账号或密码错误!")
if __name__== "__main__":
root = Tk() # 创建root对象
root.geometry("500x300+200+100") # 调整root窗口大小
root.title("第一个GUI程序") # 窗口标题
app = Application(master=root) # 实例化app对象
root.mainloop()

老师,我按照课程代码一步一步来好像都没错呀,怎么会显示get的属性错误呢?