用python写一个电子书阅读器
时间: 2024-05-13 20:16:19 浏览: 7
好的,以下是一个简单的电子书阅读器的Python代码示例:
```python
import tkinter as tk
from tkinter import filedialog
import os
class EbookReader:
def __init__(self, master):
self.master = master
master.title("电子书阅读器")
master.geometry("800x600")
# 创建文本框
self.text = tk.Text(master, wrap="word")
self.text.pack(fill="both", expand=True)
# 创建菜单栏
self.menu_bar = tk.Menu(master)
master.config(menu=self.menu_bar)
# 创建文件菜单
self.file_menu = tk.Menu(self.menu_bar, tearoff=0)
self.file_menu.add_command(label="打开", command=self.open_file)
self.file_menu.add_command(label="保存", command=self.save_file)
self.file_menu.add_separator()
self.file_menu.add_command(label="退出", command=self.master.quit)
self.menu_bar.add_cascade(label="文件", menu=self.file_menu)
# 创建帮助菜单
self.help_menu = tk.Menu(self.menu_bar, tearoff=0)
self.help_menu.add_command(label="关于", command=self.show_about)
self.menu_bar.add_cascade(label="帮助", menu=self.help_menu)
def open_file(self):
file_path = filedialog.askopenfilename(title="打开文件", filetypes=[("Text files", "*.txt"), ("All Files", "*.*")])
if file_path:
with open(file_path, "r", encoding="utf-8") as f:
text = f.read()
self.text.delete("1.0", "end")
self.text.insert("end", text)
def save_file(self):
file_path = filedialog.asksaveasfilename(title="保存文件", filetypes=[("Text files", "*.txt"), ("All Files", "*.*")])
if file_path:
with open(file_path, "w", encoding="utf-8") as f:
text = self.text.get("1.0", "end")
f.write(text)
def show_about(self):
about_message = "电子书阅读器\n\n版本:1.0\n\n作者:xxx\n\n"
tk.messagebox.showinfo("关于", about_message)
root = tk.Tk()
app = EbookReader(root)
root.mainloop()
```
这个电子书阅读器使用了Python自带的Tkinter库来创建GUI界面,并且使用了filedialog模块来打开和保存文件。你可以将该代码保存为一个.py文件并运行它来启动电子书阅读器。