Python 3.x Python3 tkinter Photoimage“;pyimage1“;不';不存在

Python 3.x Python3 tkinter Photoimage“;pyimage1“;不';不存在,python-3.x,tkinter,photoimage,Python 3.x,Tkinter,Photoimage,PhotoImage:Tkinter PhotoImage对象及其特性 我用32位和64位的python 2.7.9、3.2.5、3.3.5、3.4.3测试了这个示例。 (Win 8.1 64位) 代码是有效的。(即使没有枕头) (在python 3.4.3 64位中,我首先收到一条错误消息 我已经完全卸载了3.4.3,然后重新安装 现在,该示例也适用于3.4.3(64位) 您的脚本在windows 7上运行的Python 3.4版本与我的脚本完全相同。我怀疑唯一的区别是,我还安装了枕头下载车

PhotoImage:Tkinter PhotoImage对象及其特性

我用32位和64位的python 2.7.9、3.2.5、3.3.5、3.4.3测试了这个示例。 (Win 8.1 64位)

代码是有效的。(即使没有枕头)

(在python 3.4.3 64位中,我首先收到一条错误消息

我已经完全卸载了3.4.3,然后重新安装

现在,该示例也适用于3.4.3(64位)


您的脚本在windows 7上运行的Python 3.4版本与我的脚本完全相同。我怀疑唯一的区别是,我还安装了枕头下载车轮包从。我认为这包括您需要的图像支持

作为旁注:在windows上,使用ttk包小部件可以获得适合平台的按钮。只需
将tkinter.ttk导入为ttk
,然后使用
ttk.Button
而不是
tk.Button

更新

鉴于相同的代码在我的机器上工作,而不是在你的机器上工作,我想我会补充一下我是如何获得这个版本的。我使用(
choco-install-python
)安装了python,然后从站点添加了枕头、lxml、numpy、请求和simplejson

通过检查Tk版本,我发现我得到了Tk 8.6.1,因此我怀疑您是在本地安装了Tcl/Tk安装,而不是与您的Python版本一起提供。尝试确保没有Tk安装在您的路径中,看看这是否解决了问题。我的产出是:

python     3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:44:40) [MSC v.1600 64 bit (AMD64)]
tkinter    8.6
测试位置:

>>> from tkinter import *
>>> root = Tk()
>>> root.eval('set tk_library')
'C:\\opt\\Python34\\tcl\\tk8.6'

实际上,我说服python安装到
c:\opt\python
我认为通过使用
choco install python-ia“TARGETDIR=c:\opt\python”
,但我怀疑这是否相关。

您的脚本对我来说很好,在windows 7上运行的python 3.4版本完全相同。我怀疑唯一的区别是,我还安装了枕头下载车轮包从。我认为这包括您需要的图像支持

作为旁注:在windows上,使用ttk包小部件可以获得适合平台的按钮。只需
将tkinter.ttk导入为ttk
,然后使用
ttk.Button
而不是
tk.Button

更新

鉴于相同的代码在我的机器上工作,而不是在你的机器上工作,我想我会补充一下我是如何获得这个版本的。我使用(
choco-install-python
)安装了python,然后从站点添加了枕头、lxml、numpy、请求和simplejson

通过检查Tk版本,我发现我得到了Tk 8.6.1,因此我怀疑您是在本地安装了Tcl/Tk安装,而不是与您的Python版本一起提供。尝试确保没有Tk安装在您的路径中,看看这是否解决了问题。我的产出是:

python     3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:44:40) [MSC v.1600 64 bit (AMD64)]
tkinter    8.6
测试位置:

>>> from tkinter import *
>>> root = Tk()
>>> root.eval('set tk_library')
'C:\\opt\\Python34\\tcl\\tk8.6'

实际上,我说服python安装到
c:\opt\python
我认为通过使用
choco安装python-ia“TARGETDIR=c:\opt\python”
,但我怀疑这是否相关。

必须关闭所有挂在内存中的打开窗口。如果您有一个错误,并且在下次启动时没有销毁该窗口,则不会启动多个窗口。检查

必须关闭内存中所有打开的窗口。如果您有一个错误,并且在下次启动时没有销毁该窗口,则不会启动多个窗口。检查

这是通过将
root.Tk()
替换为
root.Toplevel()

来完成的
root.Tk()
替换为
root.Toplevel()

@patthoyts感谢您的快速回复。这不是我的代码,这是Tkinter Wiki的代码。我还安装了Pillow(在2.7.9和3.4.3中)。您刚刚更改了代码示例吗?@patthoyts:对于照片图像问题,tk.Button和ttk.Button之间没有区别(2.7.9适用于3.4.3不适用于)我根本没有更改您的代码。我甚至创建了一个同名的小gif。关于使用ttk的评论是关于按钮和其他控件的外观——与图像处理无关。Tk按钮看起来像Windows95,而ttk按钮看起来像它们属于自己。我已经编辑了我的帖子:代码正常。(即使没有枕头)(在python 3.4.3 64位中,我首先收到一条错误消息。我已完全卸载3.4.3,然后重新安装。现在,该示例也适用于3.4.3 64位)@patthoyts感谢您的快速回复。这不是我的代码,这是Tkinter Wiki的代码。我还安装了Pillow(在2.7.9和3.4.3中)。您刚刚更改了代码示例吗?@patthoyts:对于照片图像问题,tk.Button和ttk.Button之间没有区别(2.7.9适用于3.4.3不适用于)我根本没有更改您的代码。我甚至创建了一个同名的小gif。关于使用ttk的评论是关于按钮和其他控件的外观——与图像处理无关。Tk按钮看起来像Windows95,而ttk按钮看起来像它们属于自己。我已经编辑了我的帖子:代码正常。(即使没有枕头)(在Python3.4.3 64位中,我首先收到一条错误消息。我已经完全卸载了3.4.3,然后重新安装。现在,该示例也适用于3.4.3 64位)我已经编辑了我的帖子:代码有效。(即使没有枕头)(在Python3.4.3 64位中,我首先收到一条错误消息。我已经完全卸载了3.4.3,然后重新安装。现在,该示例也适用于3.4.3 64位)我已经编辑了我的帖子:代码有效。(即使没有枕头)(在python 3.4.3 64位中,我首先收到一条错误消息。我已完全卸载3.4.3,然后重新安装。现在,该示例也适用于3.4.3 64位)