1.BooleanVar()  布尔类型
2.IntVar() 整数类型
3.DoubleVar() 浮点数类型
4.StringVar() 字符串类型
5.self.entry1 = Entry(self,textviable = v1)
textviable 实现双向关联
6.v1.set("admin")
# 设置单行文本的值
7.v1.get() self.entry1.get() 获取的是单行文本框中的值
8.self.entry_passwd = Entry(self,textvariable = v2,show = "*")
textvariable 进行绑定 v2
v2 = StringVar()
用户输入后,show 显示为 *
9.Button(self,text = "登录",command = self.login).pack()
登录操作
10.点击登陆后执行的函数可以与数据库进行交互,达到验证的目的
self.组件实例化对象.get() 获取值
from tkinter import *
from tkinter import messagebox class Application(Frame):
'''GUI程序经典写法'''
def __init__(self,master = None):
super().__init__(master)
# super() 表示父类的定义,父类使用 master 参数
self.master = master
# 子类定义一个属性接收传递过来的 master 参数
self.pack()
# .pack 设置布局管理器
self.createWidget()
# 在初始化时,将按钮也实现
# master传递给父类 Frame 使用后,子类中再定义一个 master 对象 def createWidget(self):
'''创建组件'''
self.lab1 = Label(self,text = "用户名")
self.lab1.pack()
# StringVar() 绑定到指定的组件,StringVar 和 v1 一起变化
v1 = StringVar()
self.entry_user = Entry(self,textvariable = v1)
self.entry_user.pack()
v1.set("admin")
# 设置单行文本的值
# v1.get() self.entry_user.get() 获取的是单行文本框中的值 # 创建密码框
self.lab2 = Label(self,text = "密码")
self.lab2.pack() v2 = StringVar()
self.entry_passwd = Entry(self,textvariable = v2,show = "*")
self.entry_passwd.pack() Button(self,text = "登录",command = self.login).pack() def login(self):
username = self.entry_user.get()
passwd = self.entry_passwd.get()
# 数据库进行操作,查看是否存在该用户
print("用户名:" + username)
print("密码:" + passwd)
if username == "Hany" and passwd == "":
messagebox.showinfo("博客园","欢迎使用~")
else:
messagebox.showinfo("Error","请重新输入~") if __name__ == '__main__':
root = Tk()
# 定义主窗口对象
root.geometry("300x300+400+300")
# 创建大小
root.title("Button 测试")
# 设置标题
app = Application(master = root)
# 传递 master 参数为 主窗口对象
root.mainloop()

 


2020-04-20

最新文章

  1. 每天一个 Linux 命令(15):tail 命令
  2. Linux下,使用Git管理 dotfiles(配置文件)
  3. 小Experience__要懂得努力
  4. Linux下U盘变成只读
  5. 如何下载Spring
  6. HDU 3623 Best Cow Line, Gold(模拟,注意思路,简单)
  7. Shell脚本基础II
  8. Winform Krypton控件使用(一)
  9. FZU2090 旅行社的烦恼 巧妙floyd 最短路
  10. MVC Model 数据注解与验证
  11. Javascript的事件委托
  12. 移动平台前端开发总结(针对iphone,Android等手机)
  13. 简化MonoTouch.Dialog的使用
  14. dotnet Core 调用HTTP接口,系统大量CLOSE_WAIT连接问题的分析,尚未解决。
  15. C#并发编程实例讲解-概述(01)
  16. Python 基础【二】 上
  17. python全栈开发 * 22 面向对象 知识点汇总 * 180703
  18. android studio 关闭SVN关联
  19. dropwizard使用cors支持跨域浏览器取不到自定义header问题
  20. eclipse + maven + com.sun.jersey 创建 restful api

热门文章

  1. Orleans 框架3.0 官方文档中文版系列一 —— 概述
  2. YOLOV4源码详解
  3. python之os模块分类整理
  4. 并发工具CyclicBarrier源码分析及应用
  5. 每日一题 - 剑指 Offer 48. 最长不含重复字符的子字符串
  6. CF1051F The Shortest Statement 题解
  7. Python-利用xlrd模块操作excel
  8. JVM 学习笔记(三)
  9. numpy基础用法学习
  10. java 基础(二) 搭建Java编译环境(linux系统)