我在tkinter中有一个名为al_p4
的PhotoImage,但我希望能够打印图像的文件路径。谁能帮忙。这是我的代码:
al_p4 = Image.open("Media/DVD/image.jpg").resize((100, 150), Image.ANTIALIAS)
al_p4 = ImageTk.PhotoImage(al_p4)
先谢谢你们;)
答案 0 :(得分:1)
因为我仍然无法完全解释你的意思,所以这里有四个关于如何进行打印的不同答案。
如果您只需要打印它并且路径始终是常量,请使用:
print("Media/DVD/image.jpg")
如果您需要打印某些内容并且路径不同,请尝试:
filepath = "Media/DVD/image.jpg"
al_p4 = Image.open(filepath).resize((100, 150), Image.ANTIALIAS)
al_p4 = ImageTk.PhotoImage(al_p4)
print(filepath)
如果您需要将某些内容打印到窗口小部件,它将取决于您要使用的窗口小部件的类型。对于像文件路径这样小的东西,标签可能会很好。请查看effbot's documentation for the label widget了解更多详情。
如果要将所有打印语句重定向到窗口小部件,根据GUI的设计方式,这可能很有用,请创建一个类来重定向标准输出。这是一个带有文本小部件的示例:
import sys
import Tkinter
def nothing():
print("Nothing")
class Application(Tkinter.Frame):
def __init__(self, master = None):
Tkinter.Frame.__init__(self, master)
self.button = Tkinter.Button(text = "Button 1", command = nothing)
self.button.pack()
class StdoutRedirector(Tkinter.Text):
def __init__(self):
Tkinter.Text.__init__(self)
def write(self, message):
printout.insert(Tkinter.END, message)
printout = StdoutRedirector()
printout.pack()
sys.stdout = printout
root = Tkinter.Tk()
app = Application(root)
app.mainloop()
答案 1 :(得分:0)
我是编码新手,所以我会尽我所能=) 快速回答: 您需要在 PIL 对象中使用 .filename(不适用于 TK 对象)
#这是图片:
al_p4 = Image.open("Media/DVD/image.jpg").resize((100, 150), Image.ANTIALIAS)
#This is to show in Tkinter, Notice I added ..._TK
al_p4_TK = ImageTk.PhotoImage(al_p4)
#这是我认为你想要的文件路径:
print(al_p4.filename)