如何用python做记事本,并且包含字体大小,求大神帮我改一下
from tkinter import *
import tkinter.font as tkFont
from tkinter.filedialog import *
from tkinter.simpledialog import *
from tkinter.messagebox import *
class frame(Frame):
def __init__(self,master=None):
super().__init__(master)
self.master=master
self.filename=None
self.textpad=None
self.pack()
self.menu()
def menu(self):
#创建菜单
menubar=Menu(root)
#创建子菜单
menuFile=Menu(menubar)
menuEdit=Menu(menubar)
menuFont=Menu(menubar)
menuQita=Menu(menubar)
#将子菜单添加到主菜单
menubar.add_cascade(label="文件(F)",menu=menuFile)
menubar.add_cascade(label="编辑(E)",menu=menuEdit)
menubar.add_cascade(label="字体(O)",menu=menuFont)
menubar.add_cascade(label="其他(Q)",menu=menuQita)
#文件
menuFile.add_command(label="新建",accelerator="ctrl+n",command=self.File1)
menuFile.add_command(label="打开",accelerator="ctrl+o",command=self.File2)
menuFile.add_command(label="保存",accelerator="ctrl+s",command=self.File3)
menuFile.add_command(label="另存",accelerator="ctrl+e",command=self.File4)
menuFile.add_command(label="退出",accelerator="ctrl+q",command=self.File5)
#编辑
menuEdit.add_command(label="搜索",accelerator="ctrl+f",command=self.Edit1)
menuEdit.add_command(label="替换",accelerator="ctrl+h",command=self.Edit2)
#字体
menuFont.add_command(label="字体",accelerator="ctrl+5",command=self.Font)
#帮助
menuQita.add_command(label="关于",accelerator="ctrl+8",command=self.Qita1)
root.bind("<Control-n>",lambda event:self.File1())
root.bind("<Control-o>",lambda event:self.File2())
root.bind("<Control-s>",lambda event:self.File3())
root.bind("<Control-e>",lambda event:self.File4())
root.bind("<Control-q>",lambda event:self.File5())
root.bind("<Control-f>",lambda event:self.Edit1())
root.bind("<Control-h>",lambda event:self.Edit2())
root.bind("<Control-5>",lambda event: self.Font1())
root.bind("<Control-6>",lambda event: self.Font2())
root.bind("<Control-8>",lambda event: self.Qita1())
root["menu"]=menubar
self.textpad=Text(root,width=660,height=630)
self.textpad.pack()
#文件方法
def File1(self):
self.filename=asksaveasfile(title="选择新建路径",defaultextension=".txt",initialfile="未命名.txt")
def File2(self):
self.textpad.delete(1.0,END)
self.filename=askopenfilename()
with open(f"{self.filename}")as f:
self.textpad.insert(INSERT,f.read())
#漏洞
def File3(self):
if (type(self.filename)==TextIOWrapper):
with open(self.filename.name, "w+")as f:
f.write(self.textpad.get(1.0, END))
elif(type(self.filename)==str):
with open(self.filename, "w+")as f:
f.write(self.textpad.get(1.0, END))
else:
self.filename = asksaveasfile(title="选择保存路径", defaultextension=".txt", initialfile="未命名.txt")
print(self.filename)
with open(self.filename.name, "w+")as f:
f.write(self.textpad.get(1.0, END))
def File4(self):
self.filename03 = asksaveasfile(title="选择另存路径", defaultextension=".txt", initialfile="未命名.txt")
with open(f"{self.filename03.name}","w+")as f:
f.write(self.textpad.get(1.0,END))
def File5(self):
self.quit()
#编辑方法
def Edit1(self):
fan=askstring(title="请输入需要查找内容",prompt="请输入")
if(fan in self.textpad.get(1.0,END)):
messagebox.showinfo("查找结果", "找到了")
else:
messagebox.showinfo("查找结果", "找不到")
def Edit2(self):
self.ask = askstring(title="请输入替换前", prompt="请输入")
if self.ask in self.textpad.get(1.0, END):
self.ask01 = askstring(title="请输入替换后", prompt="请输入")
aa=self.textpad.get(1.0, END).replace(f"{self.ask}",f"{self.ask01}")
self.textpad.delete(1.0, END)
self.textpad.insert(INSERT, aa)
else:
messagebox.showinfo("提示","不存在")
#字体方法
def Font(self):
root1=Tk()
root1.geometry("250x100")
self.size=Scale(root1, to=10, length=200, tickinterval=0.1, orient=HORIZONTAL, command=self.size1)
self.size.pack()
print(self.size)
root1.mainloop()
#帮助方法
def Qita1(self):
messagebox.showinfo("制作组", "二班十组")
root=Tk()
root.geometry("400x200")
root.title("记事本")
app=frame(master=root)
root.mainloop()
if (type(self.filename) == TextIOWrapper): with open(self.filename.name, "w+")as f: f.write(self.textpad.get(1.0, END)) elif (type(self.filename) == str): with open(self.filename, "w+")as f: f.write(self.textpad.get(1.0, END))
这段代码用os.path.exists(path)判断一下,如果文件存在,写入,不存在的就执行其他操作
如果对你有帮助,可以点击我这个回答右上方的【采纳】按钮,给我个采纳吗,谢谢