diary = [] class DiaryWindow: def __init__(self, master): self.master = master self.master.title("日记") self.master.geometry('400x300+500+200') #宽度*高度+距左边距离+距上边距离 # 创建文本编辑器 self.text_editor = tk.Text(self.master, height=19) self.text_editor.pack() # 创建按钮,并绑定相应的函数,当点击按钮是,就会执行函数中的代码 self.add_button = tk.Button(self.master, text="添加", command=self.add,bg="black",fg="white") self.add_button.pack(side="left", padx=5, pady=5) self.clear_button = tk.Button(self.master, text="清空", command=self.clear,bg="black",fg="white") self.clear_button.pack(side="left", padx=5, pady=5) self.view_button = tk.Button(self.master, text="查看", command=self.show_diary,bg="black",fg="white") self.view_button.pack(side="left", padx=5, pady=5) def show(self): self.master.mainloop() #定义函数 def add(self): content = self.text_editor.get("1.0", "end-1c") if content: diary.append(content) messagebox.showinfo("添加成功", "添加日记成功!") # 将输入的内容追加到 diary.txt 文件中 with open("diary.txt", "a") as f: f.write(content + "\n") else: messagebox.showerror("添加失败", "请输入日记内容!")
时间: 2024-03-26 12:36:53 浏览: 166
这是一个 Python 的日记窗口类,它包括一个文本编辑器、一个添加按钮、一个清空按钮和一个查看按钮。当用户输入日记内容并点击添加按钮时,它会将内容追加到 diary 列表中,并将内容写入 diary.txt 文件中;当用户点击清空按钮时,它会清空文本编辑器中的内容;当用户点击查看按钮时,它会弹出一个消息框显示当前 diary 列表中的所有日记内容。需要注意的是,这里的 diary 是一个全局变量,它可以在不同的函数中访问和修改。
相关问题
class LoginWindow: def __init__(self, master): self.master = master self.master.title("登录") self.master.geometry("300x300+500+200") self.label_username = tk.Label(self.master, text="用户名") self.label_username.pack() self.entry_username = tk.Entry(self.master) self.entry_username.pack() self.label_password = tk.Label(self.master, text="密码") self.label_password.pack() self.entry_password = tk.Entry(self.master, show="*") self.entry_password.pack() self.button_login = tk.Button(self.master, text="登录", command=self.login,bg="black",fg="white") self.button_login.pack(pady=20) def login(self): # 在这里添加登录验证逻辑 if self.entry_username.get() == username and self.entry_password.get() == password: # 如果验证通过,跳转到 DiaryWindow self.master.destroy() root = tk.Tk() diary_window = DiaryWindow(root) root.mainloop() else: messagebox.showinfo("错误", "用户名或密码错误!")
这是一个 Python 的登录窗口类,它包括一个用户名输入框、一个密码输入框和一个登录按钮。当用户点击登录按钮时,它会调用 login 方法进行登录验证。如果用户名和密码验证通过,它会关闭登录窗口并打开 DiaryWindow 窗口;否则,它会弹出一个错误提示框。需要注意的是,这里的 username 和 password 是需要在代码中设置的变量。
怎么将text组件换成text文件 def show_diary(self): # 创建新窗口 self.show_window = tk.Toplevel(self.master) self.show_window.title("记事本内容") # 设置子窗口大小为300x300,并让窗口居中显示 window_width = 300 window_height = 300 screen_width = self.show_window.winfo_screenwidth() screen_height = self.show_window.winfo_screenheight() x_coordinate = int((screen_width - window_width) / 2) y_coordinate = int((screen_height - window_height) / 2) self.show_window.geometry(f"{window_width}x{window_height}+{x_coordinate}+{y_coordinate}") # 创建 Text 组件 text_widget = tk.Text(self.show_window) text_widget.pack(fill='both', expand=True) # 添加日记内容到 Text 组件中 for i, entry in enumerate(diary): entry_with_number = f"{i + 1}. {entry}" text_widget.insert(tk.END, entry_with_number + '\n\n')
你可以使用Python的文件操作来打开并读取文本文件的内容,然后将其添加到Text组件中。以下是示例代码:
```python
def show_diary(self):
# 创建新窗口
self.show_window = tk.Toplevel(self.master)
self.show_window.title("记事本内容")
# 设置子窗口大小为300x300,并让窗口居中显示
window_width = 300
window_height = 300
screen_width = self.show_window.winfo_screenwidth()
screen_height = self.show_window.winfo_screenheight()
x_coordinate = int((screen_width - window_width) / 2)
y_coordinate = int((screen_height - window_height) / 2)
self.show_window.geometry(f"{window_width}x{window_height}+{x_coordinate}+{y_coordinate}")
# 创建 Text 组件
text_widget = tk.Text(self.show_window)
text_widget.pack(fill='both', expand=True)
# 读取文本文件内容并添加到 Text 组件中
with open('diary.txt', 'r') as f:
diary = f.readlines()
for i, entry in enumerate(diary):
entry_with_number = f"{i + 1}. {entry}"
text_widget.insert(tk.END, entry_with_number + '\n\n')
```
在这个示例中,我们使用了Python的`open()`函数来打开名为'diary.txt'的文本文件,并使用`readlines()`方法将其内容读取到一个列表中。然后,我们使用for循环将每个条目添加到Text组件中。
阅读全文