Python *更新*:写入tkinter postscript文件时出现问题
编辑:好吧,我想我之前问的是不可能的,因为海龟画布不是文本对象。但是,我现在已经决定在程序启动时创建postscript文件,我使用以下函数来实现这一点:Python *更新*:写入tkinter postscript文件时出现问题,python,python-3.x,canvas,save,turtle-graphics,Python,Python 3.x,Canvas,Save,Turtle Graphics,编辑:好吧,我想我之前问的是不可能的,因为海龟画布不是文本对象。但是,我现在已经决定在程序启动时创建postscript文件,我使用以下函数来实现这一点: def save(): cnv = getscreen().getcanvas() hel = filedialog.asksaveasfilename(defaultextension = '.ps') global fev fev = cnv.postscript(file = hel, colormode = '
def save():
cnv = getscreen().getcanvas()
hel = filedialog.asksaveasfilename(defaultextension = '.ps')
global fev
fev = cnv.postscript(file = hel, colormode = 'color')
这在程序开始时调用。然后,当用户按下tkinter“Save”按钮时,执行以下操作:
def savefirst():
open('fev.ps', 'a+b')
这是为了将对画布的任何更改保存到用户在开始时创建的postscript文件中,就像在字处理器中一样。但是,由于某种原因,它不会这样做,我知道这一点,因为每当我创建一个文件,在画布上绘制,按下“保存”按钮,然后打开保存的文件时,它仍然是空的有人能告诉我我做错了什么吗?如果无法直接保存turtle画布,您可以保存所有用户输入,然后下次启动程序时,在允许其他输入之前,先重播该输入。@TomDalton好的,我同意,但我如何实现它?因为,正如我所知,每当程序关闭时,一切都会丢失。我如何实现保存所有用户输入的功能,并在程序关闭时将其保存在内存中?类似的功能可能适用于您。试试看,如果你不能让代码正常工作,就给我们看看你的代码。@TomDalton那么你建议使用
json
?我不知道你的数据到底是什么样子的,但是从你提供的细节来看,这听起来很好。我猜您要保存的用户输入只是文本/字符串?如果无法直接保存turtle画布,您可以保存所有用户输入,然后在下次启动程序时,在允许其他输入之前,先重播该输入。@TomDalton好的,我同意,但我如何实现它?因为,正如我所知,每当程序关闭时,一切都会丢失。我如何实现保存所有用户输入的功能,并在程序关闭时将其保存在内存中?类似的功能可能适用于您。试试看,如果你不能让代码正常工作,就给我们看看你的代码。@TomDalton那么你建议使用json
?我不知道你的数据到底是什么样子的,但是从你提供的细节来看,这听起来很好。我猜您要保存的用户输入只是文本/字符串?