python学习tkinter笔记(4)

本次主要是学习记录一下如何做输入输出框口,比如制作密码界面之类的。

下面是一个简单的输入框的制作:

from tkinter import *

root = Tk()

e = Entry(root)#输入框
e.pack(padx=20,pady=20)

e.delete(0,END)    #把窗口从0到最后清空
e.insert(0,"默认文本")  # 在0处放入默认文本字样

mainloop()

稍微复杂的框框

from tkinter import *

root = Tk()

Label(root,text="作品:").grid(row=0,column=0)#grid中关系着元素的网格布局第0行第0个位置
Label(root,text="作者:").grid(row=1,column=0)#布局第1行第0个位置

e1=Entry(root)
e2=Entry(root)
e1.grid(row=0,column=1,padx=10,pady=5)#布局在(0,1)位置
e2.grid(row=1,column=1,padx=10,pady=5)#布局在(1,1)位置

def show():
    print("作品:《%s》"%e1.get())#通过调用Entry的get()函数可以得到输入的字符串
    print("作者:《%s》"%e2.get())

Button(root,text="获取信息",width=10,command=show).grid(row=3,column=0,sticky=W,padx=10,pady=5)
#width关系着按键长度,command是按下按键后的函数调用,sticky为W该模块靠左放置
Button(root,text="退出",width=10,command=root.quit).grid(row=3,column=1,sticky=E,padx=10,pady=5)
#root.grid是退出该窗口的函数,sticky为E该模块靠有放置
mainloop()

如果是账号密码,如何使密码用*来表示呢?

from tkinter import *

root = Tk()

Label(root,text="账号:").grid(row=0,column=0)
Label(root,text="密码:").grid(row=1,column=0)

v1 = StringVar()
v2 = StringVar()

e1=Entry(root,textvariable=v1)
e2=Entry(root,textvariable=v2,show="*")#用*显示输入
#show是代表着输入字符的展示形式,如上可以是*,但是也可以是其他的字符,比如¥$等等
e1.grid(row=0,column=1,padx=10,pady=5)
e2.grid(row=1,column=1,padx=10,pady=5)

def show():
    print("账号:%s"%e1.get())#Entry.get()可以获得输入的字符串
    print("密码:%s"%e2.get())
    e1.delete(0,END)#清空输入框
    e2.delete(0,END)

Button(root,text="登录",width=10,command=show).grid(row=3,column=0,sticky=W,padx=10,pady=5)
Button(root,text="退出",width=10,command=root.quit).grid(row=3,column=1,sticky=E,padx=10,pady=5)

mainloop()

from tkinter import *

master = Tk()

def test():
    if e1.get()=="hello":
        print("正确")
        return True
    else:
        print("错误")
        e1.delete(0,END)
        return False

v=StringVar()

e1=Entry(master,textvariable=v,validate="focusout",
         validatecommand=test)#validate为focusout的意思是,当光标移除的时候将会调用validatecommand
                              #invalidcommand是在validatecommand显示非法的时候调用
e2=Entry(master)
e1.pack(padx=10,pady=10)
e2.pack(padx=10,pady=10)

mainloop()

时间: 2024-10-21 20:08:18

python学习tkinter笔记(4)的相关文章

Python学习入门笔记(一):Python文件类型

1.源代码 扩展名:.py,由Python程序解释,不需要编译. --创建hello.py源文件 # cat hello.py  print 'Hello World!' --执行hello.py [[email protected] study]# chmod a+x hello.py  [[email protected] study]# python hello.py  Hello World! [[email protected] study]# ./hello.py  ./hello.

Python学习入门笔记(二):Python运算符

1.算术运算符 "+"加法:3+2=5 "-"减法:3-2=1 "*"乘法:3*2=6 "/"实数除法:3/2=1,3.0/2=1.5 "//"整数除法:5.6//2=2.0 "%"求余数:17%6=5 "**"求幂运算:2**3=8 2.赋值运算符 "="等于:x=3 "+="加等于:x+=2 "-="减等

Python学习手册笔记

之前为了编写一个svm分词的程序而简单学了下Python,觉得Python很好用,想深入并系统学习一下,了解一些机制,因此开始阅读<Python学习手册(第三版)>.如果只是想快速入门,我在这里推荐了几篇文章,有其他语言编程经验的人简单看一看就可以很快地开始编写Python程序了. 黑体表示章节, 下划线表示可以直接在原文对应位置查到的专有技术名词. 原书配套答案请到http://www.hzbook.com/Books/4572.html下载,简单注册即可. 第三章 如何运行程序 impor

python学习tkinter(1-3)

(一) 之前使用easy_gui写过一下界面,感觉就是太过于简单了,因此这次是学习tkinter来做的. import tkinter as tk #顶层窗口,根窗口 app = tk.Tk() app.title("flash demo") theLabel = tk.Label(app,text="我的第二个窗口程序!")#建立一个组件,用于显示文本和图片 theLabel.pack()#用于自动调节组件尺寸和位置 app.mainloop()#窗口的主事件循环

Python学习手册笔记——管理属性

管理属性有四种方式:1.__getattr__和__setattr__:把未定义的属性获取和所有的属性赋值指向通用的处理器方法. 2.__getattribute__:把所有的属性获取和赋值指向Python2.6中的新式类和Python 3.0中的所有类的中的一个处理器方法 3.property内置函数,把特定属性访问定位到get和set函数,也叫做特性 4.描述符:把特定属性访问定位到具有任意get和set函数的类的实例 特性 attribute = property(fget, fset,

Python学习手册笔记(1):Python对象类型

在Python中一切皆对象,Python程序可以分解为模块.语句.表达式及对象.如下所示: 1 程序由模块组成 2 模块包含语句 3 语句包含表达式 4 表达式建立并处理对象 内置对象(核心类型): 1)数字: >>> 2+2            #整数加法 4 >>> 1.5*4          #浮点数乘法 6.0 >>> 2**10          #2的10次方 1024 2) 字符串: >>> s='abcdefg'

python学习list笔记

List(列表) 是 Python 中使用最频繁的数据类型: 支持字符,数字,字符串甚至可以包含列表(所谓嵌套) 1.定义: list = [1,3,4,5,'goog','well',777] 2.从最后一列增加: list.append("your are good!") 显示: 直接输入:list 显示:[1, 3, 4, 5, 'goog', 'well', 777, 'your are good!'] 3.从中间增加一列如: 使用:insert函数: 使用方法如下: >

Python学习Day2笔记(字符编码)

1.字符编码 #ASCII码里只能存英文和特殊字符 不能存中文 存英文占1个字节 8位#中文编码为GBK 操作系统编码也为GBK#为了统一存储中文和英文和其他语言文字出现了万国码Unicode 所有一个字符都占2个字节 16位#英文文档改为Unicode编码大小变大一倍 为解决这种浪费空间问题#出现了Unicode扩展集 Utf-8 为可变长的字符编码 默认英文字符按ASCII码存储 中文按照3个字节存储 编码都要先decode成unicode再转码成目标编码 #获取默认编码import sys

Python学习Day2笔记

1.集合的使用 列表是有序的可包含重复内容的 集合是无序的不可包含重复内容的 1) 集合关系测试 #列表去重list_1=[1,4,5,6,7,8,9,7,5,4,23,2] #有重复数据 list_1=set(list_1)print(list_1,type(list_1)) list_2=set([2,6,0,44,55,3,4])print(list_1,list_2) #交集print(list_1.intersection(list_2))print(list_1 & list_2)