一个很low的登录界面

import tkinter as tk
from tkinter import messagebox
import socket
def receive(name=None,password=None):
    sk = socket.socket()  # 创建客户套接字
    sk.connect((‘192.168.13.142‘, 8898))  # 尝试连接服务器
    send=name+"|"+password
    send1=send.encode("utf-8")
    sk.send(send1)
    ret = sk.recv(1024)  # 对话(发送/接收)
    ret1=ret.decode("utf-8")
    sk.close()
    return ret1
def denglu():
    window = tk.Tk()
    window.title(‘欢迎登陆‘)
    window.geometry(‘400x250‘)

    canvas = tk.Canvas(window, height=100, width=200)#创建画布
    image_file = tk.PhotoImage(file=‘logo.png‘)#加载图片文件
    image = canvas.create_image(0,0, anchor=‘nw‘, image=image_file)#将图片置于画布上
    canvas.pack(side=‘top‘)#放置画布(为上端)

    tk.Label(window, text=‘User name: ‘).place(x=50, y= 120)#创建一个`label`名为`User name: `置于坐标(50,150)
    tk.Label(window, text=‘Password: ‘).place(x=50, y= 150)

    var_usr_name = tk.StringVar()#定义变量
    var_usr_name.set(‘[email protected]‘)#变量赋值‘[email protected]‘
    entry_usr_name = tk.Entry(window, textvariable=var_usr_name)#创建一个`entry`,显示为变量`var_usr_name`即图中的`[email protected]`
    entry_usr_name.place(x=160, y=120)
    var_usr_pwd = tk.StringVar()
    entry_usr_pwd = tk.Entry(window, textvariable=var_usr_pwd, show=‘*‘)#`show`这个参数将输入的密码变为`***`的形式
    entry_usr_pwd.place(x=160, y=150)

    flag=0
    def usr_login():
        nonlocal flag
        if flag<3:
            usr_name = var_usr_name.get()
            usr_pwd = var_usr_pwd.get()
            sign_s=receive(str(usr_name),str(usr_pwd))
            # sign_s=sign_s.decode("utf-8")
            if sign_s=="登陆成功":
                messagebox.showinfo(title=‘‘, message=‘登陆成功‘)
                flag=0
                exit()
            else:
                flag += 1
                messagebox.showinfo(title=‘‘, message=‘账户或密码错误,剩余登录次数为%s‘ % (3 - flag))
                if flag>=3:
                    exit()

    btn_login = tk.Button(window, text=‘Login‘, command=usr_login)#定义一个`button`按钮,名为`Login`,触发命令为`usr_login`
    btn_login.place(x=160, y=180)

    window.mainloop()

denglu()

客户端

import socket
server = socket.socket()
server.bind((‘192.168.13.142‘,8001))
server.listen(5)
while True:
    conn,addr = server.accept()
    # 字节类型
    while True:
        data = conn.recv(1024) # 阻塞
        if data == b‘exit‘:
            break
        response = data + b‘ SB‘
        conn.send(response)
    conn.close()

原文地址:https://www.cnblogs.com/journey-mk5/p/9583657.html

时间: 2024-08-30 13:40:07

一个很low的登录界面的相关文章

一个很low的验证局域网内的机器中永恒之蓝病毒的方法

局域网内高发永恒之蓝病毒,但是发现并没有进行勒索加密的迹象,仅是进行了传播,不过因为病毒会将同一个子网掩码内的所有的ip地址进行一遍arp 广播,所以造成公司局域网性能下降,以及很多服务器出现无法ping通(网关不能及时响应提交的arp申请信息),或者出现ping的延迟较高的现象.暂时解决方法如下: 使用wireshark 跟踪局域网内的流量, 主要高发的arp 广播包如下: 判断是否是病毒的方法: (1)       arp包数据非常多 (2)       给不存在的ip地址发送arp数据包

一个很low的购物车系统还花了我一下午时间

购物车的要求 有一两个入口 用户入口: 1.商品信息存在文件里 2.已购商品余额记录 商家入口 2.可添加商品,修改商品 用户入口 俩个文件一个product.txt商品信息   一个历史购买数据 用户输入本想加一个判断历史购买是否由余额然后直接输入余额  ,但是if判断好像返回不了返回值 1 # Author:Zhiyu Su 2 3 shopping_list=[] 4 f=open('product.txt','r',encoding='utf-8') 5 product_list=eva

C#语言第一课-Windows窗体基本功能(Login登录界面)

本菜鸟由于实习工作的原因,不得不快速接触C#语言,刚刚好又要做毕业设计,所以就通过自学的方式一举两得地完成这两件事情. 故此文字记录或代码中的各种文件名之类均是以毕业设计为模版记录的,看着不方便之处请海涵.(毕竟菜鸟的我暂时还不能把代码写的特别规范) 在学习过程中以日记或者周记的方式记录我遇见的问题和各种学习到的知识以此来巩固,如果有和我一样情况的志同道合的菜鸟,那我们就一起相互交流和学习吧~ 文字记录的错处或者可以优化的地方,如果有大神看见,更希望不吝赐教~ 毕业设计的大概模型是类似QQ的聊天

做一个好看的可翻转登录注册界面

做一个好看的登录注册界面 前言 最近在尝试做网盘,使用的技术栈大概是 .net core + MVC + Mysql + Layui,主要目的是通过这个具体的项目,熟悉熟悉 .net core 开发,.net 的未来就是他了! 我的设想 在完成后端的一部分 建设 之后,我把目光投向了前端--登陆注册,由于这个网盘是用来试手的个人项目,我并不想用曾经用过的制作方式--登录和注册界面分开来做.我试图讲这两个功能合到一个页面上,并且以一种不是很 "Low" 的方式呈现出来. 你也可以认为我只

使用CSS3 制作一个material-design 风格登录界面

使用CSS3 制作一个material-design 风格登录界面 心血来潮,想学学 material design 的设计风格,就尝试完成了一个登录页面制作. 这是整体效果. 感觉还不错吧,结尾会附上代码 在编写的过程中,没有使用任何图片或者字体图标,全部使用css3完成,还是遇到一些难点和bug,所以想笔记下来,以后方便查阅. 响应式设计 在这个页面中,使用下面3点来完成响应式设计 最大宽度 .设定了一个 max-width 的最大宽度,以便在大屏幕时兼容. margin : 20px au

再谈C#采集,一个绕过高强度安全验证的采集方案?方案很Low,慎入

说起采集,其实我是个外行,以前拔过阿里巴巴的客户数据,在我博客的文章:C#+HtmlAgilityPack+XPath带你采集数据(以采集天气数据为例子) 中,介绍过采集用的工具,其实很Low的,分析Html,用开源的HtmlAgilityPack就很快解决问题了.我个人并不是技术特别深,所以只要是解决问题就OK了.但每一次需求并不是完全一致的,对上面那篇文章的采集,无需登录,是非常灵活的,但是这次碰到的稍微有点变态,虽然最后任务完成,但总结方案还是很low的,但觉得还是有必要分享出来,希望对以

关于使用一个登录界面,进行用户和管理员判断进入不同的action的方法

以前的随笔都删了,感觉学生时的自己太low了,所以写点对自己有用一点的 今天做项目时有个需求是管理员和用户使用不同的表,在同一个页面进行登录,有一些大牛建议使用一个表,一条sql,定义不同的权限进行访问数据,也有一些大牛说,在control里进行判断,我想能不能直接在页面进行判断,不使用后台代码,所以就查了下资料,结果还真发现两篇对我有用的文章,结合之后就达到了使用一个登录界面,进行用户和管理员判断进入不同的action的效果,所以在这里也感谢两位大牛的贡献 主要运用js技术实现该功能 代码如下

少量代码设计一个登录界面(二) – .NET CORE(C#) WPF开发

微信公众号:Dotnet9,网站:Dotnet9,问题或建议:请网站留言, 如果对您有所帮助:欢迎赞赏. 阅读导航 本文背景 代码实现 本文参考 源码 1. 本文背景 同上篇文章<少量代码设计一个登录界面>,本篇介绍另一种登录界面设计风格. 2. 代码实现 使用 .NET CORE 3.1 创建名为 "Login" 的WPF模板项目,添加1个Nuget库:MaterialDesignThemes.3.1.0-ci981. 解决方案主要文件目录组织结构: Login App.

初识Jsp,JavaBean,Servlet以及一个简单mvc模式的登录界面

1:JSP JSP的基本语法:指令标识page,include,taglib;page指令标识常用的属性包含Language用来定义要使用的脚本语言:contentType定义JSP字符的编码和页面响应的MIME类型:pageEncoding:jsp页面的字符编码: include指令<%@ include file="path"%>静态包含,先包含,后编译处理: <jsp:include page="要包含的文件">  动态包含,先编译处理