【tkinter探索之旅】小试牛刀:编写一个登录界面

【tkinter探索之旅】本系列为从0开始学习tkinter的过程记录编写一个登录界面 • 学习概要1. Label、Canvas、Button、Entry和Messagebox初认识2. 一些重要的知识技巧:如何自定义窗口图标、锚点的知识、如何关联用户输入信息的变量、如何自定义RGB颜色等。3. 程序之外的事情,在正式动手之前,画好整个界面的设计图很重要4.存在一些问题。
摘要由CSDN通过智能技术生成

在这里插入图片描述


一、前言废话

最近正式开始学习Python中GUI设计的最主要库之一:tkinter。

实在是憋不住了,写个啥东西都是只能在Python中运行,所以很想自己也能编写一个小软件,能够实现用户交互那种。

那么就必须学习关于GUI方面的知识。

与之前学习Python中的其他库不一样,以往总是先写内置的函数方法和属性,再与实际相结合,来解决生活工作中的问题。

这一次学习tkinter,我通过一个个实际的项目来逆向学习tkinter中的各种方法和属性。

因为对于这种实操性强、涉及内容比较多的库,采取这样的方式进行学习印象会更加深刻,同时更容易关注知识的主线脉络。

(个人见解)
在这里插入图片描述
在这里插入图片描述

二、设计分析

今日份练习是设计一个登录界面

就像每一幢大楼在动手开工前,都需要有详细完整的设计图纸;同样的正式开始写代码构造这个登录界面之前,我们需要先画出一个蓝图,我们要设计怎样的一个登录界面。

于是我先动手在PPT里面画了样图。

Duang!Duang!Duang!这就是我想要制作出的界面样子。
在这里插入图片描述

当然这只是个人的设计想法,你们也可以按照自己的想法去设计。

但是重要的一定是先确定了设计图,分析了事件功能,再根据这个图最后去写代码。

接下来,我们再拆解一下整个设计界面
在这里插入图片描述

  1. 整个窗口的标题部分由图片与文字组成,图片就用的我个人头像,再配上文字 Nilvya办公系统
  2. 右上角的窗口最小化、最大化以及关闭窗口在tkinter中会自动生成,这个就不用管了
  3. 配上一张符合主题的图片作为装饰
  4. 文本信息,提示用户分别输入账号和密码
  5. 文本框,用来输入账号和密码
  6. “登录”按钮,背景色为青蓝色,风格为平面风。关于事件处理,如果账号密码正确则显示 [登录成功];如果账号密码错误则显示 [账号或密码错误],并且清除已经输入的账号和密码

好啦,整个设计界面以及处理事件就分析得差不多了,接下来就是正式开始写代码了。

开干!
在这里插入图片描述
在这里插入图片描述

三、代码分步解析

整个设计的思路、步骤以及代码,咱们采用分段一一就是演示说明。

如果不想看分步解析的,也可以直接跳转到 四、复盘总结,有完整的代码。

——

1. 导入工具库

import tkinter as tk
import tkinter.messagebox
from PIL import Image           # 导入Pillow,为了对图片进行处理

这里导入了Pillow,是为了对办公图片进行处理,裁剪合适的宽高。

——

2. 创建应用程序窗口

window = tk.Tk()
window.title('Nilvya办公系统')  # 更改窗口标题
window.geometry('327x272')     # 根据样图宽高比例,设定合适的窗口大小
window.iconphoto(False, tk.PhotoImage(file='头像.png'))   # 更改窗口图标

window.mainloop()  # 启动消息循环

需要重点强调两个地方

  1. 窗口宽高,是根据设计图本身的宽高进行等比例缩放的,只要确保宽高比一致就好
  2. 关于更改窗口图标的方法操作,可以查看我写的【学习日常随记】tkinter设置窗口图标的三种方式

——

3. 创建画布放置图片

# 图片宽高像素更改
# im = Image.open('办公图片.png')
# shortsizedIm = im.resize((327,86))
# shortizedIm.save('办公图片新.png')

canvas = tk.Canvas(window, width=327, height=84, bg='grey')
image_file = tk.PhotoImage(file='办公图片新.png')
image = canvas.create_image(163.5, 0,  anchor='n', image
  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值