阅读背景:

tkinter GUI打开文件_chensiwei7346的博客_tkinter 打开文件

来源:互联网 
'''
这是一个用Tkinter做UI打开文件并返回文件的包
定义了一个通用的UiOpen类,UiOpen实体化后将打开文件,并提供对象属性如下:

通过实体化UiOpen类,使用不同的typefilter参数,可以定义不同的文件类型的UiOpen函数

'''
# encoding:utf-8
from tkinter import *
from tkinter import filedialog
import os
from os import path


class UiOpen:
    '''
    file_path: 文件的绝对路径
    file_fullname: 文件的完整名称,包含后缀名
    file_name: 文件的名称
    file_sufix:文件的后缀名
    '''

    def __init__(self, typefilter=None, default_dir=None):
        if typefilter is None:
            typefilter = [['All Files', '*']]
        if default_dir is None:
            default_dir = os.path.split(os.path.realpath(__file__))[0]
        self.typefilter = typefilter
        self.ui_open(default_dir)

    def ui_open(self, default_dir):
        root = Tk()  # 创建一个Tkinter.Tk()实例
        root.withdraw()  # 将Tkinter.Tk()实例隐藏
        self.file_path = filedialog.askopenfilename(title=u'选择文件',
                                                    filetypes=self.typefilter,
                                                    initialdir=(os.path.expanduser(default_dir))
                                                    )
        print('UI Open File:\n', self.file_path)
        self.file_dir, self.file_fullname = path.split(self.file_path)
        self.file_name = path.splitext(self.file_fullname)[0][1:]
        self.fuil_sufix = path.splitext(self.file_fullname)[1][1:]


def ui_open_stp(dir=None):
    # 构建的一个实例化的stp文件打开函数
    file = UiOpen(typefilter=[['STP File', '*.stp *.step'], ['All Files', '*']],
                  default_dir=dir)
    return file


if __name__ == "__main__":
    dir = r"I:\ProjectX
'''
这是一个用Tkinter做UI打开文件并返回文件的包
定义了一个通用的UiOpen类,UiOpen实体化后将打开文件,并提供对象属性如下:

通过实体化UiOpen类,使用不同的typefilter参数,可以定义不同的文件类型的UiOpen函数

'''
# encoding:utf-8
from tkinter import *
from tkinter import filedialog
import os
from os import path


class UiOpen:
    '''
    file_path: 文件的绝对路径
    file_fullname: 文件的完整名称,包含后缀名
    file_name: 文件的名称
    file_sufix:文件的后缀名
    '''

    def __init__(self, typefilter=None, default_dir=None):
        if typefilter is None:
            typefilter = [['All Files', '*']]
        if default_dir is None:
            default_dir = os.path.split(os.path.realpath(__file__))[0]
        self.typefilter = typefilter
        self.ui_open(default_dir)

    def ui_open(self, default_dir):
        root = Tk()  # 创建一个Tkinter.Tk()实例
        root.withdraw()  # 将Tkinter.Tk()实例隐藏
        self.file_path = filedialog.askopenfilename(title=u'选择文件',
                                                    filetypes=self.typefilter,
                                                    initialdir=(os.path.expanduser(default_dir))
                                                    )
        print('UI Open File:\n', self.file_path)
        self.file_dir, self.file_fullname = path.split(self.file_path)
        self.file_name = path.splitext(self.file_fullname)[0][1:]
        self.fuil_sufix = path.splitext(self.file_fullname)[1][1:]


def ui_open_stp(dir=None):
    # 构建的一个实例化的stp文件打开函数
    file = UiOpen(typefilter=[['STP File', '*.stp *.step'], ['All Files', '*']],
                  default_dir=dir)
    return file


if __name__ == "__main__":
    dir = r"I:\ProjectX\01 RayFile\02 Test\ray_files"
    File = ui_open_stp(dir=dir)
    print('UI open File: ', File.file_name)


RayFile Test\ray_files" File = ui_open_stp(dir=dir) print('UI open File: ', File.file_name) ''' 这是一个用Tkinter做UI打开文件并返回文件的包 定义了一个通用的UiOpen类,



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: