个人网站做联盟营销中山技术支持中山网站建设
news/
2025/9/22 19:33:25/
文章来源:
个人网站做联盟营销,中山技术支持中山网站建设,零基础自学做网站,wordpress分享按钮代码分析 引入tkinter库#xff0c;并从中导入messagebox模块。 read_users()函数用于读取存储用户信息的文本文件users.txt。它打开文件并逐行读取#xff0c;将每行的用户名和密码以空格分隔后存储在一个列表中#xff0c;最后返回该列表。 login(username,…代码分析 引入tkinter库并从中导入messagebox模块。 read_users()函数用于读取存储用户信息的文本文件users.txt。它打开文件并逐行读取将每行的用户名和密码以空格分隔后存储在一个列表中最后返回该列表。 login(username, password)函数用于验证用户输入的用户名和密码是否与已存储的用户信息匹配。它调用read_users()函数获取所有用户信息并遍历该列表。如果找到匹配的用户名和密码返回True否则返回False。 on_login_click()函数是登录按钮的回调函数。它首先获取用户输入的用户名和密码然后进行非空检查。如果用户名或密码为空将在界面显示用户名或密码不能为空的错误提示信息。否则调用login()函数进行验证。如果验证通过弹出一个登录成功的消息框并清空之前可能存在的错误提示信息否则在界面上显示用户名或密码错误的提示信息。 exit()函数是退出按钮的回调函数。它调用root.destroy()方法销毁GUI窗口结束程序运行。 创建一个名为登录界面的GUI窗口对象root。 创建一个欢迎标签welcome_label设置其文本为欢迎登录系统使用Helvetica字体字号为16并将其放置在第0行、第0和1列。 创建用户名标签name、用户名输入框userid、密码标签ps、密码输入框userps并使用网格布局放置在相应的位置。 创建登录按钮lobutton设置其文本为登录并将回调函数设置为on_login_click()。 创建退出按钮exbutton设置其文本为退出并将回调函数设置为exit()。 创建用于显示验证结果的标签rebutton使用result_var变量绑定该标签的文本内容。 使用网格布局将上述部件放置在相应的位置。 调用root.mainloop()进入事件循环等待用户交互。
import tkinter as tk
from tkinter import messageboxdef read_users():users []with open(users.txt, r) as file:for line in file:user_info line.strip().split( )users.append(user_info)return usersdef login(username, password):users read_users()for user in users:if user[0] username:if user[1] password:return Trueelse:return Falsereturn Falsedef on_login_click():username userid.get()password userps.get()if not username or not password:result_var.set(用户名或密码不能为空)else:if login(username, password):messagebox.showinfo(登录成功, 登录成功)result_var.set() # Clear any previous error messageelse:result_var.set(用户名或密码错误)def exit():root.destroy()root tk.Tk()
root.title(登录界面)welcome_label tk.Label(root, text欢迎登录系统, font(Helvetica, 16))welcome_label.grid(row0, column0, columnspan2, pady10)name tk.Label(root, text用户名:)
userid tk.Entry(root)
ps tk.Label(root, text密码:)
userps tk.Entry(root, show*)lobutton tk.Button(root, text登录, commandon_login_click)
exbutton tk.Button(root, text退出, commandexit)# 记录字符串的用于验证结果怎么样,我可以使用遍历来查找
result_var tk.StringVar()rebutton tk.Label(root, textvariableresult_var)name.grid(row2, column0, padx10, pady5, stickytk.E)
userid.grid(row2, column1, padx10, pady5)
ps.grid(row3, column0, padx10, pady5, stickytk.E)
userps.grid(row3, column1, padx10, pady5)
lobutton.grid(row4, column0, padx5, pady10, stickytk.SW)
exbutton.grid(row4, column1, padx5, pady10, stickytk.SE)
rebutton.grid(row5, column0, columnspan2, pady5)root.mainloop()分析
首先导入了tkinter库用于创建GUI界面。创建了一个名为get_movie_info()的函数用于获取豆瓣电影Top250的电影信息。该函数使用requests库发送HTTP GET请求并通过解析返回的HTML内容使用BeautifulSoup类提取电影名称、评分和评价人数。最后返回包含电影信息的列表。创建了一个名为save_to_csv()的函数用于将电影信息保存到CSV文件中。该函数使用csv库打开指定文件并创建一个CSV写入器然后逐行写入电影信息。在主程序中定义了一个名为url的变量存储要爬取的豆瓣电影Top250页面的URL。创建了一个名为root的窗口对象并设置了窗口标题和大小。创建了一个名为movies_text的文本框用于显示电影信息。创建了一个名为get_movies_button的按钮用于触发获取电影信息的操作。点击按钮后调用get_movie_info()函数获取电影信息并将其显示在movies_text文本框中。创建了一个名为save_movies_button的按钮用于触发保存电影信息的操作。点击按钮后调用save_to_csv()函数将电影信息保存到名为top250.csv的CSV文件中。使用grid()方法将上述部件放置在窗口中的相应位置。调用root.mainloop()进入GUI界面的事件循环等待用户交互。
import tkinter as tk
from tkinter import messageboxdef read_users():with open(users.txt, r) as file:lines file.readlines()users [line.strip().split( ) for line in lines]return usersdef register(username, password, confirm_password):if not username or not password or not confirm_password:return 用户名或密码不能为空if password ! confirm_password:return 两次密码不一致users read_users()for user in users:if user[0] username:return 用户名已存在with open(users.txt, a) as file:file.write(f{username} {password}\n)return 注册成功def on_register_click():username entry_username.get()password entry_password.get()confirm_password entry_confirm_password.get()result register(username, password, confirm_password)result_var.set(result)def on_exit_click():root.destroy()root tk.Tk()
root.title(注册界面)label_username tk.Label(root, text用户名:)
entry_username tk.Entry(root)
label_password tk.Label(root, text密码:)
entry_password tk.Entry(root, show*)
label_confirm_password tk.Label(root, text确认密码:)
entry_confirm_password tk.Entry(root, show*)register_button tk.Button(root, text注册, commandon_register_click)
exit_button tk.Button(root, text退出, commandon_exit_click)result_var tk.StringVar()
result_label tk.Label(root, textvariableresult_var)label_username.grid(row0, column0, padx10, pady5, stickytk.E)
entry_username.grid(row0, column1, padx10, pady5)
label_password.grid(row1, column0, padx10, pady5, stickytk.E)
entry_password.grid(row1, column1, padx10, pady5)
label_confirm_password.grid(row2, column0, padx10, pady5, stickytk.E)
entry_confirm_password.grid(row2, column1, padx10, pady5)
register_button.grid(row3, column0, padx5, pady10, stickytk.SW)
exit_button.grid(row3, column1, padx5, pady10, stickytk.SE)
result_label.grid(row4, column0, columnspan2, pady5)root.mainloop()
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/910138.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!