用python语言写一个有登录功能,点击登录跳转到写日记的界面。能实现数据的增加、修改、删除和查询操作
时间: 2024-03-08 14:50:17 浏览: 21
好的,下面是一个简单的Python代码示例,实现了一个登录功能和一个简单的日记管理系统。该系统可以实现数据的增加、修改、删除和查询操作。
```python
# 导入所需的模块
import tkinter as tk
import tkinter.messagebox as messagebox
# 用户名和密码
username = 'admin'
password = 'password'
# 日记数据
diary_list = []
# 登录窗口
class LoginWindow:
def __init__(self):
self.window = tk.Tk()
self.window.title("登录")
self.window.geometry("300x150")
# 用户名和密码输入框
tk.Label(self.window, text="用户名:").grid(row=0, sticky=tk.W)
self.username_entry = tk.Entry(self.window)
self.username_entry.grid(row=0, column=1)
tk.Label(self.window, text="密码:").grid(row=1, sticky=tk.W)
self.password_entry = tk.Entry(self.window, show='*')
self.password_entry.grid(row=1, column=1)
# 登录按钮
tk.Button(self.window, text="登录", command=self.login).grid(row=2, column=1, sticky=tk.E)
self.window.mainloop()
# 登录验证
def login(self):
if self.username_entry.get() == username and self.password_entry.get() == password:
self.window.destroy()
DiaryWindow()
else:
messagebox.showerror("错误", "用户名或密码错误!")
# 日记窗口
class DiaryWindow:
def __init__(self):
self.window = tk.Tk()
self.window.title("日记管理系统")
self.window.geometry("400x300")
# 日记列表框
self.diary_listbox = tk.Listbox(self.window)
self.diary_listbox.pack(fill=tk.BOTH, expand=True)
# 操作按钮
tk.Button(self.window, text="添加", command=self.add_diary).pack(side=tk.LEFT, padx=5, pady=5)
tk.Button(self.window, text="修改", command=self.edit_diary).pack(side=tk.LEFT, padx=5, pady=5)
tk.Button(self.window, text="删除", command=self.delete_diary).pack(side=tk.LEFT, padx=5, pady=5)
tk.Button(self.window, text="查询", command=self.search_diary).pack(side=tk.LEFT, padx=5, pady=5)
self.load_diary_list()
self.window.mainloop()
# 加载日记列表
def load_diary_list(self):
self.diary_listbox.delete(0, tk.END)
for i, diary in enumerate(diary_list):
self.diary_listbox.insert(i, diary)
# 添加日记
def add_diary(self):
diary = tk.simpledialog.askstring("添加日记", "请输入日记内容:")
if diary:
diary_list.append(diary)
self.load_diary_list()
# 修改日记
def edit_diary(self):
selected_indices = self.diary_listbox.curselection()
if len(selected_indices) == 1:
selected_index = selected_indices[0]
diary = diary_list[selected_index]
new_diary = tk.simpledialog.askstring("修改日记", "请输入新的日记内容:", initialvalue=diary)
if new_diary:
diary_list[selected_index] = new_diary
self.load_diary_list()
else:
messagebox.showerror("错误", "请选择一条日记!")
# 删除日记
def delete_diary(self):
selected_indices = self.diary_listbox.curselection()
if len(selected_indices) == 1:
if messagebox.askyesno("确认删除", "是否确认删除所选的日记?"):
selected_index = selected_indices[0]
diary_list.pop(selected_index)
self.load_diary_list()
else:
messagebox.showerror("错误", "请选择一条日记!")
# 查询日记
def search_diary(self):
keyword = tk.simpledialog.askstring("查询日记", "请输入关键字:")
if keyword:
result_indices = []
for i, diary in enumerate(diary_list):
if keyword in diary:
result_indices.append(i)
if result_indices:
self.diary_listbox.selection_clear(0, tk.END)
for index in result_indices:
self.diary_listbox.selection_set(index)
self.diary_listbox.see(index)
else:
messagebox.showinfo("提示", "没有查询到结果!")
# 运行程序
if __name__ == '__main__':
LoginWindow()
```
该代码使用了 tkinter 模块实现了一个简单的图形界面,包含了登录窗口和日记管理窗口。在登录窗口中,用户需要输入正确的用户名和密码才能进入日记管理窗口。在日记管理窗口中,用户可以添加、修改、删除和查询日记,日记数据保存在 diary_list 列表中。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)