我在 tkinter 中有一个 PhotoImage,al_p4
但我希望能够打印图像的文件路径。任何人都可以帮忙。这是我的代码:
al_p4 = Image.open("Media/DVD/image.jpg").resize((100, 150), Image.ANTIALIAS)
al_p4 = ImageTk.PhotoImage(al_p4)
在此先感谢各位;)
我在 tkinter 中有一个 PhotoImage,al_p4
但我希望能够打印图像的文件路径。任何人都可以帮忙。这是我的代码:
al_p4 = Image.open("Media/DVD/image.jpg").resize((100, 150), Image.ANTIALIAS)
al_p4 = ImageTk.PhotoImage(al_p4)
在此先感谢各位;)
因为我仍然无法准确解释您的意思,所以这里有四个关于如何进行打印的不同答案。
如果您只需要打印它并且路径将始终保持不变,请使用:
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 的标签小部件文档。
如果您想将所有打印语句重定向到一个小部件,这取决于您的 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()
我是编码新手,所以我会尽我所能=)快速回答:您需要在 PIL 对象中使用 .filename(不适用于 TK 对象)
#这是图片:
al_p4 = Image.open("Media/DVD/image.jpg").resize((100, 150), Image.ANTIALIAS)
#这是在 Tkinter 中显示的,注意我添加了 ..._TK
al_p4_TK = ImageTk.PhotoImage(al_p4)
#这是我认为你想要的文件路径:
print(al_p4.filename)