用python tkiner写一个可以修改背景颜色或者插入背景图片的用户登录页面

一、项目前提

  1. python版本:小主用的是python3.7,建议用python3以上的版本
  2. 开发工具:当然不是大佬用记事本开发啦,小主用的是pycharm2019这一开发工具,可以自行在网上搜索下载(如果对这个工具感兴趣的话。

二、项目效果

没有实现效果那还学个毛线,小主没有界面美化的天分,就将就这大胆发出来了。

  1. 用canvas来加载在窗体上从而修改背景颜色。

  2. 用canvas来加载在窗体上从插入背景图片。

三、代码实现

呐,具体的效果就是上面这样啦。如果有兴趣不妨亲自试试。

  1. 用canvas来加载在窗体上从而修改背景颜色。
    窗体代码如下:
# -*- coding: utf-8 -*-#

#-------------------------------------------------------------------------------
# Name:         Login
# Description:  
# Author:       魔法师的魔法书
# Date:         2019/12/15
#-------------------------------------------------------------------------------


import tkinter as tk


from PIL import Image, ImageTk

from py_gui.listenter.user_listener.UserListener import Login

class LoginWin:
    def __init__(self,title):
        self.title = title
        self.win = tk.Tk()
        self.win.resizable(False, False)
        self.win.title(self.title)
        curWidth, curHeight = 500, 300
        scnWidth, scnHeight = self.win.maxsize()
        geocnf = '%dx%d+%d+%d' % (curWidth, curHeight,

                                  (scnWidth - curWidth) / 2, (scnHeight - curHeight) / 2)
        self.win.geometry(geocnf)
        canvas = tk.Canvas(self.win,
                            width = 500,  # 指定Canvas组件的宽度
                            height = 800,  # 指定Canvas组件的高度
                             bg = 'white' ) # 指定Canvas组件的背景色

        canvas.pack(side='top')
      # 创建关联字符变量

        self.varName = tk.StringVar(self.win, value='')

        self.varPWD = tk.StringVar(self.win, value='')

        varFindPWD=tk.StringVar()
        varquery=tk.StringVar()


        label = tk.Label(self.win, text="用户名:",bg='Gray',fg='SkyBlue', font=("隶书 -20"))


        label.place(x=90, y=70, height=28, width=80)


        label = tk.Label(self.win, text="密码:",bg='Gray',fg='SkyBlue', font=("隶书 -20"))

        label.place(x=90, y=120, height=30, width=80)




        entryName = tk.Entry(self.win, textvariable=self.varName)

        entryName.place(x=190, y=70, height=30, width=200)

        entryPWD = tk.Entry(self.win, textvariable=self.varPWD)

        entryPWD.place(x=190, y=120, height=30, width=200)

        findPWD=tk.Radiobutton(self.win, text='修改密码?', fg='SkyBlue',bg='Azure',variable=varFindPWD, value='findPWD', command=self.findPWD)
        findPWD.place(x=140,y=180)
        query = tk.Radiobutton(self.win, text='免登浏览',fg='SkyBlue',bg='Azure', variable=varquery, value='query',
                                 command=self.query)
        query.place(x=250,y=180)


        bt_login = tk.Button(self.win, text='登录',fg='SkyBlue',bg='Azure', command=self.login)

        bt_login.place(x=140, y=230,width=60)



        bt_logup = tk.Button(self.win, text='注册',fg='SkyBlue',bg='Azure', command=self.register)

        bt_logup.place(x=210, y=230,width=60)

        bt_logquit = tk.Button(self.win, text='退出',fg='SkyBlue',bg='Azure', command=self.exitSys)

        bt_logquit.place(x=280, y=230,width=60)



#下面都是按钮的监听,只是实现登录页面是没必要写的

    def login(self):
        Login().login()
    def findPWD(self):
        Login().findPwd()
    def exitSys(self):
        Login().exitSys()
    def register(self):
        Login().register()
    def query(self):
        Login().query()
  1. 用canvas来加载在窗体上从插入背景图片。
    插入背景图片和前面的代码基本一样,只需要在
canvas.pack(side='top')

上面加上

global image
image=Image.open("F:Pictures\绿芽.jpg")#这是我的电脑上上图片的绝对路径你也可以将图片包含到你的工程下面
#则 替换为  image=Image.open("绿芽.jpg")就行了 
global img
img=ImageTk.PhotoImage(image)
canvas.create_image(0,0,anchor="nw",image=img)#使用create_image将图片添加到canvas上

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值