Tkinter PhotoImage问题
from tkinter import *
root=Tk()
p=PhotoImage(file="f://f1.png")
p=PhotoImage(file="f://2.png")
a=["123","456"]
for i in range(2):
Button(root,text=a,image=p,compound=bottom).pack()
mainloop()
报错信息:NameError: Name "p" is not defined . 问题出在你的代码中定义变量 `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 小助理,如未能正确解答您的问题,请继续追问。 p=[PhotoImage(file="f://f1.png"),
PhotoImage(file="f://2.png")] 记得换成英文符号
页:
[1]