设计任务

初步设计程序登录界面,详细分析设计步骤。

程序详细分析

基本框架设计

```
import tkinter as tk
import tkinter.messagebox
root = tk.Tk() # 创建应用程序窗口
root.title("用户登录界面设计")
root.geometry("230x100")
# --------功能块代码开始-------

--------功能块代码结束------

root.mainloop()

<h2 style="color:cyan;">设计标签用于提示用户</h2>

labelName = tk.Label(root, text='用户姓名:', justify=tk.RIGHT, width=80)

labelPwd = tk.Label(root, text='用户密码:', justify=tk.RIGHT, width=80)

<h2 style="color:cyan;">设计输入框</h2>

entryName = tk.Entry(root, width=80, textvariable=varName)

entryPwd = tk.Entry(root, show='*', width=80, textvariable=varPwd)

<h2 style="color:cyan;">设计按钮</h2>

buttonOk = tk.Button(root, text='登录', relief=tk.RAISED, command=login)

buttonCancel = tk.Button(root, text='重置', relief=tk.RAISED, command=cancel)

buttonquit = tk.Button(root, text='退出', relief=tk.RAISED, command=_quit)

<h2 style="color:cyan;">设计功能函数</h2>
**关联变量**

varName = tk.StringVar()

varName.set('')

varPwd = tk.StringVar()

varPwd.set('')

**登录按钮处理函数**

def login():

# 获取用户名和密码

name = entryName.get()

pwd = entryPwd.get()

if name == 'admin' and pwd == '123456':

tk.messagebox.showinfo(title='Python tkinter', message='OK')

else:

tk.messagebox.showerror('Python tkinter', message='Error')

**重新输入按钮处理函数**

def cancel():

# 清空用户输入的用户名和密码

varName.set('')

varPwd.set('')

**退出按钮处理函数**

def _quit():

root.quit()

root.destroy()

<h2 style="color:cyan;">各个组件排兵布阵</h2>

labelName.place(x=10, y=5, width=80, height=20)

labelPwd.place(x=10, y=30, width=80, height=20)

entryName.place(x=100, y=5, width=80, height=20)

entryPwd.place(x=100, y=30, width=80, height=20)

buttonOk.place(x=30, y=70, width=50, height=20)

buttonCancel.place(x=90, y=70, width=50, height=20)

buttonquit.place(x=150, y=70, width=50, height=20)

<h1 style="background:cyan;">完整程序组装</h1>

import tkinter as tk

import tkinter.messagebox

root = tk.Tk() # 创建应用程序窗口

root.title("用户登录界面设计")

root.geometry("230x100")

--------功能块代码开始-------

功能函数设计

varName = tk.StringVar()

varName.set('')

varPwd = tk.StringVar()

varPwd.set('')

def login():

# 获取用户名和密码

name = entryName.get()

pwd = entryPwd.get()

if name == 'admin' and pwd == '123456':

tk.messagebox.showinfo(title='Python tkinter', message='OK')

else:

tk.messagebox.showerror('Python tkinter', message='Error')

def cancel():

# 清空用户输入的用户名和密码

varName.set('')

varPwd.set('')

def _quit():

root.quit()

root.destroy()

主窗口中的各个组件设计

labelName = tk.Label(root, text='用户姓名:', justify=tk.RIGHT, width=80)

labelPwd = tk.Label(root, text='用户密码:', justify=tk.RIGHT, width=80)

entryName = tk.Entry(root, width=80, textvariable=varName)

entryPwd = tk.Entry(root, show='*', width=80, textvariable=varPwd)

buttonOk = tk.Button(root, text='登录', relief=tk.RAISED, command=login)

buttonCancel = tk.Button(root, text='重置', relief=tk.RAISED, command=cancel)

buttonquit = tk.Button(root, text='退出', relief=tk.RAISED, command=_quit)

主窗口中各个组件的排放位置 = 排兵布阵

labelName.place(x=10, y=5, width=80, height=20)

labelPwd.place(x=10, y=30, width=80, height=20)

entryName.place(x=100, y=5, width=80, height=20)

entryPwd.place(x=100, y=30, width=80, height=20)

buttonOk.place(x=30, y=70, width=50, height=20)

buttonCancel.place(x=90, y=70, width=50, height=20)

buttonquit.place(x=150, y=70, width=50, height=20)

--------功能块代码结束------

root.mainloop() # 窗口运行循环

<h1 style="background:cyan;">最终效果</h1>

![](https://img2018.cnblogs.com/blog/1372901/201810/1372901-20181021182129052-135871456.jpg)

![](https://img2018.cnblogs.com/blog/1372901/201810/1372901-20181021182133505-1654026029.jpg)

![](https://img2018.cnblogs.com/blog/1372901/201810/1372901-20181021182137374-229183115.jpg)

Python图形编程探索系列-07-程序登录界面设计的更多相关文章

  1. Python图形编程探索系列-05-用控制变量构建对话程序

    跳转到自己的博客 控制变量 变量 符号 意义 默认值 1 var = tk.BooleanVar() 布尔型 0 2 var = tk.StringVar() 字符串控制变量 空字符串 3 var = ...

  2. Python图形编程探索系列-09-tkinter与matplotlib结合案例

    案例1 案例来自于:https://bbs.csdn.net/topics/390326088 代码示例: import matplotlib matplotlib.use('TkAgg') from ...

  3. Python图形编程探索系列-08-再次认识标签

    标签的各种属性 代码展示: import tkinter as tk root = tk.Tk() root.geometry = '500x300' label1 = tk.Label(root, ...

  4. Python图形编程探索系列-06-按钮批量生产函数

    设计任务 初步设计一个批量生产按钮的函数,根据需要的按钮数量,自动生成多少按钮. 函数设计 import tkinter as tk # 导入tkinter库 root = tk.Tk() # 建立程 ...

  5. Python图形编程探索系列-04-网上图片与标签组件的结合

    跳转到自己的博客 任务设定 任务:从网上找到一张图片,然后将其显示在标签上? 网上图片网站:http://pic.58pic.com/58pic/17/56/38/52w58PICtER_1024.j ...

  6. Python图形编程探索系列-03-标签组件(Label)

    跳转到自己的博客 tkinter.Label介绍 什么是标签? 通俗的将就相当于word的功能,能够进行显示不可修改的文字.图片或者图文混排. 直观体会一下 图1 背景图构成:内容区(黑色),填充区( ...

  7. Python图形编程探索系列-02-框架设计

    跳转到我的博客 设计任务 在主窗口root中放置三个容器用于容纳组件,容器采用框架设计. 代码初步设计 import tkinter as tk root = tk.Tk() root.geometr ...

  8. Python图形编程探索系列-01-初级任务

    设计任务 设计一个主窗口,在其中添加三个标签和三个按钮,当点击按钮时,对标签的内容和色彩进行修改. 代码初步设计 import tkinter as tk root = tk.Tk() def f1( ...

  9. Python Socket 编程——聊天室示例程序

    上一篇 我们学习了简单的 Python TCP Socket 编程,通过分别写服务端和客户端的代码了解基本的 Python Socket 编程模型.本文再通过一个例子来加强一下对 Socket 编程的 ...

随机推荐

  1. Date ——日期型函数Date常用API

     获取当前时间戳: let now = new Date().getTime() 获取某个时间点(比如12点)的时间戳: let date = new Date('2019-01-12 12:00:0 ...

  2. KVM -> 虚拟机管理&console登录_02

    1.KVM虚拟机管理操作 virsh命令常用参数总结 1.开机关机: virsh list (只可以查看运行的虚拟机) virsh list  --all (全部都可以查看) 开机与关机: virsh ...

  3. compile php with openssl on mac osx error 填坑

    从源码手动编译 PHP 时出现如下错误:           Default   1 2 3 4 5 6 7 8 9 10 11 12 13 14 Undefined symbols for arch ...

  4. 详解Android属性动画

    前面我们讲到的属性动画都是使用代码的定义方式:Android属性动画之ValueAnimator和Android属性动画之ObjectAnimator和AnimatorSet,下面我们再来看看使用XM ...

  5. Vue2.0 探索之路——生命周期和钩子函数的一些理解 - JS那些事儿

    在使用vue一个多礼拜后,感觉现在还停留在初级阶段,虽然知道怎么和后端做数据交互,但是对于mounted这个挂载还不是很清楚的.放大之,对vue的生命周期不甚了解.只知道简单的使用,而不知道为什么,这 ...

  6. 从输入url到显示网页,后台发生了什么?

    参考http://igoro.com/archive/what-really-happens-when-you-navigate-to-a-url/ http://www.cnblogs.com/we ...

  7. PTA之求单链表结点的阶乘和

    本题要求实现一个函数,求单链表L结点的阶乘和.这里默认所有结点的值非负,且题目保证结果在int范围内. 时间限制: 400ms 内存限制: 64MB 代码长度限制: 16KB 函数接口定义: int ...

  8. 关于C#中”扩展方法必须在非泛型静态类中定义“问题的解决

    问题描述: 在某个窗口下的编码中使用了以下扩展方法FindControl,以求根据字符串的值去操作控件(本文中的控件为Label控件)的属性. public static Control FindCo ...

  9. Codeforces 295C Greg and Friends BFS

    Greg and Friends BFS的过程中维护一下方案数. 我个人感觉不是很好想, 但是写出来之后怎么感觉这题这么SB啊啊. #include<bits/stdc++.h> #def ...

  10. BZOJ1295 [SCOI2009]最长距离 最短路 SPFA

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1295 题意概括 有一块矩形土地,被分为 N*M 块 1*1 的小格子. 有的格子含有障碍物. 如果 ...