碎言博客

Python TK和Tkinter的GUI编程(4) Entry Text 文本框控件

J.sky 2017-09-26 10:26:15 Python GUI

Tk的功能不多,但应付一般应用还是足够了,Entry和Text是Tk下边显示及处理文本的小部件。 涉及到文本,从使用角度来说,有几个功能是必须的:

关于布局,和其它部件基本上是一样的,前边的章节有过介绍。

本次使用tk制作了一个用户登陆验证用户名和密码的小例子。

演示图如下:

演示图

import tkinter as tk
def isLogin(uname,pword):
    """验证用户登陆函数"""
    if uname == "17python" and pword == "17python":
        print("登陆成功!")
        out.insert(tk.END,"登陆成功!\n")
    else:
        print("用户名或密码错误!")
        out.insert(tk.END,"用户名或密码错误! \n")

root = tk.Tk()
root.title('文本框的测试')
userinfo_frame = tk.Frame(root)
userinfo_frame.pack(fill=tk.X, side=tk.TOP)
########
user_frame = tk.Frame(userinfo_frame, )
user_frame.pack(fill=tk.X, side=tk.TOP)
user_label = tk.Label(user_frame, text="username:",font=("Symbol", 14)).pack(side=tk.LEFT)
username = tk.Entry(user_frame, width=40)
username.pack(fill=tk.X, side= tk.LEFT)

#######
pass_frame = tk.Frame(userinfo_frame)
pass_frame.pack(fill=tk.X, side=tk.TOP)
pass_label = tk.Label(pass_frame, text="password:",font=("Symbol", 14)).pack(side=tk.LEFT)
password = tk.Entry(pass_frame, width=40, show="*")
password.pack(fill=tk.X, side= tk.LEFT)
########
btn_frame = tk.Frame(userinfo_frame)
btn_frame.pack(fill=tk.X, side=tk.TOP)
btn = tk.Button(btn_frame, text='登陆', command= lambda isLogin = isLogin : isLogin(username.get(), password.get())).pack(fill=tk.X)
out = tk.Text(btn_frame,width=40,font=("Symbol", 14))
out.insert(tk.END, "world \n")
out.pack(fill=tk.X)

root.mainloop()

相关参考

本文源码下载:

发现错误?想参与编辑? 在 GitHub 上编辑此页!

如果您有什么问题,欢迎加入Python/Javascript学习讨论群询问

Python/Javascript学习QQ群号:217840699