用Python-tkinter完成文件对话框图片选择并显示

import tkinter as tk
from tkinter import *
from tkinter import filedialog
import cv2
import numpy as np
from PIL import Image, ImageTk


class DisplayImage:
    '''用于展示选择的图片'''
    def __init__(self, master):
        self.master = master
        master.title("GUI")
        self.image_frame = Frame(master, bd=0, height=200, width=800, bg='yellow', highlightthickness=2,
                                 highlightbackground='gray', highlightcolor='black')
        self.image_frame.pack()
        self.Text_label = Label(master, text='图像预览')
        self.Text_label.pack()
        self.Choose_image = Button(master, command=self.choose_pic, text="Choose image",
                                   width=17, default=ACTIVE, borderwidth=0)
        self.Choose_image.pack()
        self.Display_image = Button(master, command=self.display_image, text="Display image",
                                    width=17, default=ACTIVE, borderwidth=0)
        self.Display_image.pack()
        self.filenames = []
        self.pic_filelist = []
        self.imgt_list = []
        self.image_labellist = []

    def display_image(self, event=None):
        #在重新选择图片时清空原先列表
        self.pic_filelist.clear()
        self.imgt_list.clear()
        self.image_labellist.clear()

        #清空框架中的内容
        for widget in self.image_frame.winfo_children():
            widget.destroy()

        #布局所选图片
        for i in range(len(self.filenames)):
            self.pic_filelist.append(Image.open(self.filenames[i]).resize((200,200)))
            self.imgt_list.append(ImageTk.PhotoImage(image=self.pic_filelist[i]))
            self.image_labellist.append(Label(self.image_frame, highlightthickness=0, borderwidth=0))
            self.image_labellist[i].configure(image=self.imgt_list[i])
            self.image_labellist[i].pack(side=LEFT, expand=True)

    def choose_pic(self, event=None):
        self.filenames.clear()
        self.filenames += filedialog.askopenfilenames()

def main():
    window = tk.Tk()
    GUI = DisplayImage(window)
    window.title('投影亮度参数标定软件模块')
    window.geometry('1000x600')
    window.mainloop()

if __name__ == '__main__':
    main()
  • 11
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python Tkinter 文件对话框是一个用于选择文件对话框,它可以让用户浏览文件系统并选择一个或多个文件。这个对话框通常用于打开或保存文件时,可以让用户选择文件的路径和名称。在 Python 中,我们可以使用 Tkinter 模块来创建文件对话框,它提供了一些方法和属性来控制对话框的行为和外观。使用 Python Tkinter 文件对话框可以让我们的程序更加灵活和易用。 ### 回答2: Python Tkinter 文件对话框(File Dialog)是一个内置模块,用于在GUI应用程序中打开和保存文件。它提供了一种方便用户选择文件路径或创建新文件的方式,同时还可以筛选文件类型、设置默认文件名和路径等功能。在Python Tkinter中,只需要导入模块,然后使用askopenfilename()和asksaveasfilename()两个函数即可实现文件对话框功能。 askopenfilename()函数是用于打开文件的,它会显示一个文件选择对话框,用户可以选择需要打开的文件,返回所选文件的完整路径。该函数的语法如下: ``` import tkinter as tk from tkinter import filedialog root = tk.Tk() root.withdraw() # 隐藏窗口 file_path = filedialog.askopenfilename() ``` asksaveasfilename()函数是用于保存文件的,它会显示一个文件保存对话框,用户可以选择保存文件的位置和命名方式,返回保存文件的完整路径。该函数的语法如下: ``` import tkinter as tk from tkinter import filedialog root = tk.Tk() root.withdraw() # 隐藏窗口 file_path = filedialog.asksaveasfilename(defaultextension='.txt') ``` 这里的defaultextension参数是默认文件扩展名,可以设置为任何扩展名,比如.txt或.docx等。如果用户没有输入扩展名,程序会自动为文件添加上该扩展名。 除了默认参数,还可以使用一些其他可选参数,例如initialdir、title、filetypes等。其中,initialdir是文件对话框打开时的默认路径,title是文件对话框的标题,filetypes是筛选文件类型的选项,比如只显示TXT文件。 总的来说,Python Tkinter 文件对话框是一个非常有用的工具,可以让用户轻松打开和保存文件,同时还可以提供一些额外的功能。在实际应用中,可以结合其他模块和函数,实现更加复杂的操作。 ### 回答3: Python Tkinter是一个流行的桌面应用程序开发工具包,它提供了多种GUI组件和工具以及用于创建窗体和对话框等强大功能。在Tkinter中,文件对话框是一个非常有用的功能,它允许用户从文件系统中选择文件或目录。 文件对话框是一种标准的GUI交互界面,允许用户选择一个或多个文件或目录。Python Tkinter已经内置了一个文件对话框类,通过使用这个类,开发人员可以轻松地与用户进行文件系统交互。 在Python Tkinter中创建文件对话框需要使用tkinter.filedialog模块。这个模块中有几个类和方法可以用来创建不同类型的对话框。这些对话框包括打开文件对话框(OpenFileDialog)和保存文件对话框(SaveFileDialog)。 打开文件对话框可以让用户选择一个或多个文件。当用户选择一个或多个文件之后,开发人员可以使用Python代码来读取这些文件的内容。保存文件对话框可以让用户选择文件保存的位置和文件名,并且允许开发人员将数据写入到文件中。 要创建一个打开文件对话框,在Python Tkinter使用tkinter.filedialog模块的askopenfilename()方法。这个方法将返回用户选择文件名。代码示例: ```python import tkinter as tk from tkinter import filedialog root = tk.Tk() root.withdraw() # 隐藏Tk界面 file_path = filedialog.askopenfilename() print(file_path) ``` 要创建一个保存文件对话框,在Python Tkinter使用tkinter.filedialog模块的asksaveasfilename()方法。这个方法将返回用户选择文件名。代码示例: ```python import tkinter as tk from tkinter import filedialog root = tk.Tk() root.withdraw() # 隐藏Tk界面 file_path = filedialog.asksaveasfilename() print(file_path) ``` 总之,Python Tkinter文件对话框是一个非常有用的功能,可以帮助开发人员和用户轻松地从文件系统中选择文件或目录,并执行各种文件操作。通过使用Python编写Tkinter文件对话框代码,开发人员可以轻松地为其GUI应用程序添加此功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值