我当前的目标是在下拉菜单中以文本形式显示目录的最后一部分,并且仍然通过完整目录打开图像
我当前的下拉菜单只显示目录的完整长度,工作非常好。但我知道如何使用os.path.basename
显示目录的最后一部分。不幸的是,它只显示目录的最后一个字符串,但当我单击“打开”时,它会尝试打开目录的最后一部分,而不是完整目录
代码如下:
self.tkvar = StringVar()
# Directory
self.directory = "C:/Users/Eduards/Pictures"
self.choices = glob.glob(os.path.join(self.directory, "*.jpg"))
# Images
def change_dropdown():
imgpath = self.tkvar.get()
img = Image.open(imgpath)
img = img.resize((529,361))
photo = ImageTk.PhotoImage(img)
label2.image = photo
label2.configure(image=photo)
self.CaptureScreen['state'] = 'normal'
#widgets
self.msg1 = Label(main, text = "Choose here")
self.msg1.grid(column = 0, row = 0)
self.popupMenu = OptionMenu(main, self.tkvar, *self.choices)
self.popupMenu.grid(row=1, column=0)
self.display_label = label2 = Label(main, image=None)
self.display_label.grid(row=2, column=0, rowspan = 500)
self.open_button = Button(main, text="Open", command=change_dropdown)
self.open_button.grid(row=502, column=0)
这里是输出:
我怎样才能得到只显示目录最后一部分的目录。作为一个例子,从上面的图像中突出显示蓝色只显示Minions.jpg
或只是Minions
。但在后面它实际上打开了C:/Users/Eduards/Pictures\Minions.jpg
非常简单,您必须更改执行打开操作的代码。当前代码只是
get
用户单击并打开该字符串(文件名)的标签。您需要更改代码,以便显示的标签是您想要的,但是代码的open
部分将self.directory
挂起到该文件名您省略了很多支持代码,但我认为您需要的是
相关问题 更多 >
编程相关推荐