如题,我想写一个文字编辑软件,想实现可以将文件保存在原文件位置而不需要打开另存为窗口的功能,但是在调用saveFile函数的时候对于给予的参数总是报错参数没有_tk属性
以下是根据MCR整理出来的代码:
from tkinter import *
from tkinter.ttk import *
from tkinter import messagebox
from tkinter.filedialog import asksaveasfilename
def saveAsFile(event = None): # 另存文档
global filename
textContent = text.get("1.0", END)
filename = asksaveasfilename(defaultextension = ".txt") # 打开另存为的对话框
if filename == "":
return # 若未输入文件名则不继续执行
with open(filename, "w") as output:
output.write(textContent)
root.title(filename) # 更改root窗口标题
def saveFile(event = None): # 保存文档 # TODO:没法正常保存,只能另存为
global filename
if filename == filename:
fileText = open(filename, "w")
# 获取文本中的字符串
message = StringVar.get()
fileText.write(message)
fileText.close()
else:
saveAsFile(event)
filename = "Untitled"
root = Tk()
root.title(filename)
root.geometry("800x600")
text = Text(root,height = 800, width = 600, wrap = "none")
menubar.add_cascade(label = "File", menu = filemenuFile)
filemenuFile.add_command(label = "Save As File 另存为", command = saveAsFile, accelerator = "F2")
root.bind("", saveAsFile)
filemenuFile.add_command(label = "Save File 保存", command = saveFile, accelerator = "F3")
root.bind("", saveFile)
root.mainloop()