我是python的初学者。我正在编写一个带有简单 GUI 的代码,其中有一个菜单项“打开”,单击该菜单项时会询问带有tkFileDialog的图像文件。读取文件名和路径很好。我希望返回文件名,以便可以在 tkinter 标签中打开和显示图像。但我不知道如何返回文件名。
这是我的代码
from Tkinter import Frame, Tk, Label, Text, Menu, END, BOTH, StringVar
from PIL import ImageTk, Image
import numpy
import tkFileDialog
class DIP(Frame):
def __init__(self, parent):
Frame.__init__(self, parent)
self.parent = parent
self.initUI()
def initUI(self):
self.parent.title("DIP Algorithms- Simple Photo Editor")
self.pack(fill=BOTH, expand=1)
menubar = Menu(self.parent)
self.parent.config(menu=menubar)
fileMenu = Menu(menubar)
self.fn=''
fileMenu.add_command(label="Open", command=self.onOpen)
menubar.add_cascade(label="File", menu=fileMenu)
print self.fn #prints nothing here
#self.img=Image.open(self.fn)
def onOpen(self):
ftypes = [('Image Files', '*.tif *.jpg *.png')]
dlg = tkFileDialog.Open(self, filetypes = ftypes)
filename = dlg.show()
self.fn=filename
print self.fn #prints filename with path here
def onError(self):
box.showerror("Error", "Could not open file")
def main():
root = Tk()
ex = DIP(root)
root.geometry("1280x720")
root.mainloop()
if __name__ == '__main__':
main()
我什至尝试为文件名创建一个属性,但没有帮助.......