wxpython选择文件_wxPython控件学习之wx.FileDialog

#-*- coding: UTF-8 -*-#-------------------------------------------------------------------------------#Name: 模块mainFrame#Purpose: 应用程序的主界面#

#Author: ankier#

#Created: 28-10-2012#Copyright: (c) ankier 2012#Licence: #-------------------------------------------------------------------------------

importwximportos## @detail MainFrame主界面窗口类

classMainFrame(wx.Frame):def __init__(self):

wx.Frame.__init__(self, None, wx.ID_ANY, 'FileDialog study', pos=wx.DefaultPosition,

size=(800, 600), style=wx.DEFAULT_FRAME_STYLE)

self.CreateStatusBar()

self.__BuildMenus()

label= wx.StaticText(self, -1, u"当前选择的文件")

textBox= wx.TextCtrl(self, -1, style = wx.TE_MULTILINE, size =(-1, 300))

sizer=wx.BoxSizer(wx.HORIZONTAL)

sizer.Add(label, 0, wx.ALL|wx.ALIGN_CENTRE)

sizer.Add(textBox,1, wx.ALL|wx.ALIGN_CENTRE)

self.__TextBox =textBox

self.SetSizerAndFit(sizer)def __BuildMenus(self):

mainMenuBar=wx.MenuBar()

fileMenu=wx.Menu()

fileMenuItem= fileMenu.Append(-1, "打开单个文件")

self.Bind(wx.EVT_MENU, self.__OpenSingleFile, fileMenuItem)

saveMenuItem= fileMenu.Append(-1, "保存文件")

self.Bind(wx.EVT_MENU, self.__SaveFile, saveMenuItem)

savePromptMenuItem= fileMenu.Append(-1, "保存文件及提示覆盖")

self.Bind(wx.EVT_MENU, self.__SavePromptFile, savePromptMenuItem)

multipleOpenMenuItem= fileMenu.Append(-1, "多文件选择")

self.Bind(wx.EVT_MENU, self.__MultipleSelectFiles, multipleOpenMenuItem)

mainMenuBar.Append(fileMenu, title=u'&文件')

self.SetMenuBar(mainMenuBar)## @detail wx.FileDialog style:wx.FD_OPEN

def __OpenSingleFile(self, event):

filesFilter= "Dicom (*.dcm)|*.dcm|" "All files (*.*)|*.*"fileDialog= wx.FileDialog(self, message ="选择单个文件", wildcard = filesFilter, style =wx.FD_OPEN)

dialogResult=fileDialog.ShowModal()if dialogResult !=wx.ID_OK:returnpath=fileDialog.GetPath()

self.__TextBox.SetLabel(path)## @detail wx.FileDialog style:wx.FD_SAVE

def __SaveFile(self, event):

filesFilter= "Dicom (*.dcm)|*.dcm|" "All files (*.*)|*.*"fileDialog= wx.FileDialog(self, message ="保存文件", wildcard = filesFilter, style =wx.FD_SAVE)

dialogResult=fileDialog.ShowModal()if dialogResult !=wx.ID_OK:returnpath=fileDialog.GetPath()

self.__TextBox.SetLabel(path)## @detail wx.FileDialog style:wx.FD_SAVE | wx.FD_OVERWRITE_PROMPT

def __SavePromptFile(self, event):

filesFilter= "Dicom (*.dcm)|*.dcm|" "All files (*.*)|*.*"fileDialog= wx.FileDialog(self, message ="保存&prompt文件", wildcard = filesFilter, style = wx.FD_SAVE|wx.FD_OVERWRITE_PROMPT)

dialogResult=fileDialog.ShowModal()if dialogResult !=wx.ID_OK:returnpath=fileDialog.GetPath()

self.__TextBox.SetLabel(path)## @detail wx.FileDialog style:wx.FD_OPEN | wx.FD_MULTIPLE

def __MultipleSelectFiles(self, event):

filesFilter= "Dicom (*.dcm)|*.dcm|" "All files (*.*)|*.*"fileDialog= wx.FileDialog(self, message ="多文件选择", wildcard = filesFilter, style = wx.FD_OPEN|wx.FD_MULTIPLE)

dialogResult=fileDialog.ShowModal()if dialogResult !=wx.ID_OK:returnpaths=fileDialog.GetPaths()

self.__TextBox.SetLabel('')for path inpaths:

self.__TextBox.AppendText(path+'\n')

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值