Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python *更新*:写入tkinter postscript文件时出现问题_Python_Python 3.x_Canvas_Save_Turtle Graphics - Fatal编程技术网

Python *更新*:写入tkinter 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 = '

编辑:好吧,我想我之前问的是不可能的,因为海龟画布不是文本对象。但是,我现在已经决定在程序启动时创建postscript文件,我使用以下函数来实现这一点:

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
?我不知道你的数据到底是什么样子的,但是从你提供的细节来看,这听起来很好。我猜您要保存的用户输入只是文本/字符串?