2

我在 tkinter 中有一个 PhotoImage,al_p4但我希望能够打印图像的文件路径。任何人都可以帮忙。这是我的代码:

al_p4 = Image.open("Media/DVD/image.jpg").resize((100, 150), Image.ANTIALIAS)
al_p4 = ImageTk.PhotoImage(al_p4)

在此先感谢各位;)

4

2 回答 2

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 的标签小部件文档。

如果您想将所有打印语句重定向到一个小部件,这取决于您的 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()
于 2014-09-03T01:26:19.757 回答
0

我是编码新手,所以我会尽我所能=)快速回答:您需要在 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)

于 2021-02-19T14:19:49.650 回答