【发布时间】:2013-07-17 20:03:40
【问题描述】:
好的,所以我目前正在编写一个简单的图像查看器,并且我有足够的代码来查看这些图像,但唯一的问题是查看您想要的图像。您必须将它们放在与脚本相同的目录中并重命名它们。我希望用户能够单击文件打开之类的内容,然后导入这些图像。我目前使用 Tkinter 作为我的 Gui 和 PIL 来显示图像。这是我最新的代码:
from PIL import Image, ImageTk
from Tkinter import Tk, Label, BOTH
from ttk import Frame, Style
import os
import PIL
import Tkinter
filename = "test.jpg"
filename2 = "test1.jpg"
filename3 = "test2.jpg"
filename4 = "test3.jpg"
basewidth = 300
img = Image.open(filename)
wpercent = (basewidth / float(img.size[0]))
hsize = int((float(img.size[1]) * float(wpercent)))
img = img.resize((basewidth, hsize), PIL.Image.ANTIALIAS)
img.save('resize.jpg')
basewidth = 300
img = Image.open(filename2)
wpercent = (basewidth / float(img.size[0]))
hsize = int((float(img.size[1]) * float(wpercent)))
img = img.resize((basewidth, hsize), PIL.Image.ANTIALIAS)
img.save('resize2.jpg')
basewidth = 300
img = Image.open(filename4)
wpercent = (basewidth / float(img.size[0]))
hsize = int((float(img.size[1]) * float(wpercent)))
img = img.resize((basewidth, hsize), PIL.Image.ANTIALIAS)
img.save('resize4.jpg')
class Example(Frame):
def __init__(self, parent):
Frame.__init__(self, parent)
self.parent = parent
self.initUI()
def initUI(self):
self.parent.title("Picture")
self.pack(fill=BOTH, expand=1)
Style().configure("TFrame", background="")
image1 = Image.open("resize.jpg")
bardejov = ImageTk.PhotoImage(image1)
label1 = Label(self, image=bardejov)
label1.image = bardejov
label1.place(x=5, y=5)
image2 = Image.open("resize2.jpg")
bardejov = ImageTk.PhotoImage(image2)
label1 = Label(self, image=bardejov)
label1.image = bardejov
label1.place(x=5, y=250)
image3 = Image.open("resize3.jpg")
bardejov = ImageTk.PhotoImage(image3)
label1 = Label(self, image=bardejov)
label1.image = bardejov
label1.place(x= 350, y=5)
image3 = Image.open("resize4.jpg")
bardejov = ImageTk.PhotoImage(image3)
label1 = Label(self, image=bardejov)
label1.image = bardejov
label1.place(x= 350, y=250)
def main():
root = Tk()
root.geometry("660x488")
app = Example(root)
root.mainloop()
if __name__ == '__main__':
main()
【问题讨论】:
-
你对这个问题有什么不明白的地方?你知道 Tkinter 有内置的文件对话框吗?或者,您知道它但不知道如何使用它?或者还有什么你不明白的地方?
-
我知道 tkinter 有一个内置的文件对话框,我花了一整天的时间试图解决它,但我最终走到了死胡同并发布在这里我需要有人告诉我如何添加一个文件对话框定义所有 img = 此处打开文件对话框的内容。然后我就是不知道如何打开它。