'''
这是一个用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类,