鱼C论坛

 找回密码
 立即注册
查看: 67|回复: 3

[已解决]Tkinter PhotoImage问题

[复制链接]
发表于 6 天前 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
from tkinter import *
root=Tk()
p[0]=PhotoImage(file="f://f1.png")
p[1]=PhotoImage(file="f://2.png")
a=["123","456"]
for i in range(2):
      Button(root,text=a[i],image=p[i],compound=bottom).pack()
mainloop()

报错信息:NameError: Name "p" is not defined .
最佳答案
6 天前
p=[PhotoImage(file="f://f1.png"),
PhotoImage(file="f://2.png")]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 6 天前 | 显示全部楼层
问题出在你的代码中定义变量 `p` 的位置。你在赋值的时候覆盖了 `p`,因此在循环中 `p` 没有被正确引用。 另外,你的 `text` 变量 `a` 没有定义。以下是修正后的代码:
from tkinter import *

root = Tk()

# 设置初始图片
p = PhotoImage(file="f://f1.png")

# 定义按钮文字
a = "按钮"

# 创建按钮
for i in range(2):
    Button(root, text=a, image=p, compound=BOTTOM).pack()

# 运行主循环
mainloop()

请注意:

1. `p = PhotoImage(file="f://f1.png")` 和 `p = PhotoImage(file="f://2.png")` 只能保留一个,因为后者会覆盖前者。
2. `a` 应该赋予初始值。
3. `compound=BOTTOM` 是用来设置图片和文字的相对位置。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 6 天前 | 显示全部楼层    本楼为最佳答案   
p=[PhotoImage(file="f://f1.png"),
PhotoImage(file="f://2.png")]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 6 天前 | 显示全部楼层
记得换成英文符号
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-21 08:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表