NSOpenPanel-Object C组件-打开对话框-选择文件/文件夹获得路径

1. NSOpenPanel的beginWithCompletionHandler:^(NSInteger result),打开文件对话框时,对话框出现在屏幕的中央。

    NSMutableArray * fileURLArray = [[NSMutableArray alloc] init];

    NSOpenPanel * mySelectPanel = [NSOpenPanel openPanel];
    [mySelectPanel setCanChooseDirectories:YES];
    [mySelectPanel setCanChooseFiles:YES];
    [mySelectPanel setCanCreateDirectories:YES];
    [mySelectPanel setAllowsMultipleSelection:YES];
    [mySelectPanel setResolvesAliases:YES];

    //界面出现在电脑屏幕中央
    [mySelectPanel beginWithCompletionHandler:^(NSInteger result) {
        if (result == NSModalResponseOK) {
            NSLog(@"OK");
            for (NSURL * url in [mySelectPanel URLs]){
                NSString * path = [NSString stringWithString:[url path]];
                //path = [path stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
                //path = [path stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
                [fileURLArray addObject:path];
                NSLog(@"%@", path);
            }
            for (NSString * a in fileURLArray) {
                NSLog(@"%@", a);
            }

            NSLog(@"%@", fileURLArray);

        } else if (result == NSModalResponseCancel) {
            NSLog(@"Cancel");
        } else if (result == NSModalResponseStop) {
            NSLog(@"Stop");
        }
    }];

2. NSOpenPanel的beginSheetModalForWindow:self.view.window completionHandler:^(NSInteger result),打开文件对话框时,对话框依附在操作界面下。

    NSMutableArray * fileURLArray = [[NSMutableArray alloc] init];

    NSOpenPanel * mySelectPanel = [NSOpenPanel openPanel];
    [mySelectPanel setCanChooseDirectories:YES];
    [mySelectPanel setCanChooseFiles:YES];
    [mySelectPanel setCanCreateDirectories:YES];
    [mySelectPanel setAllowsMultipleSelection:YES];
    [mySelectPanel setResolvesAliases:YES];

    //对话框依附在操作界面下
    [mySelectPanel beginSheetModalForWindow:self.view.window completionHandler:^(NSInteger result) {
        if (result == NSModalResponseOK) {
            NSLog(@"OK");
            for (NSURL * url in [mySelectPanel URLs]){
                NSString * path = [NSString stringWithString:[url path]];
                //path = [path stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
                //path = [path stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
                [fileURLArray addObject:path];
                NSLog(@"%@", path);
            }
            for (NSString * a in fileURLArray) {
                NSLog(@"%@", a);
            }

            NSLog(@"%@", fileURLArray);

        } else if (result == NSModalResponseCancel) {
            NSLog(@"Cancel");
        } else if (result == NSModalResponseStop) {
            NSLog(@"Stop");
        }
    }];

时间: 2024-10-17 19:07:32

NSOpenPanel-Object C组件-打开对话框-选择文件/文件夹获得路径的相关文章

Python.tkinter.打开对话框选择文件文件夹

""" tkinter.filedialog.asksaveasfilename():选择以什么文件名保存,返回文件名 tkinter.filedialog.asksaveasfile():选择以什么文件保存,创建文件并返回文件流对象 tkinter.filedialog.askopenfilename():选择打开什么文件,返回文件名 tkinter.filedialog.askopenfile():选择打开什么文件,返回IO流对象 tkinter.filedialog.a

VC中打开对话框选择文件和文件夹

1.选择文件 CFileDialogdlg(true, NULL, NULL, NULL, "所有文件 | *.*", this); if (IDOK == dlg. DoModal()) { MessageBox(dlg .GetPathName(), _T("" )); } 2.选择文件夹 BROWSEINFO bi ;            // BROWSEINFO结构体 TCHAR Buffer [512] = ""; TCHAR Fu

JS打开选择本地文件的对话框

方法一: 在定义的form中添加以下javascript代码: {             anchor : '95%',             xtype: 'fileuploadfield',             id: 'form-file',             emptyText: '请选择',             fieldLabel: '上传附件',             name: 'meetingAffix',             buttonText: '

【.Net】在WinForm中选择本地文件

相信很多朋友在日常的编程中总会遇到各钟各样的问题,关于在WinForm中选择本地文件就是很多朋友们都认为很难的一个学习.net的难点, 在WebForm中提供了FileUpload控件来供我们选择本地文件,只要我们将该控件拖到页面上了,就已经有了选择本地文件的功能了.而在 WinForm中,并没有为我们提供集成该功能的控件,但为我们提供了OpenFileDialog类,我们可以利用该类来打开与选择本地文件. OpenFileDialog类,提供了提示用户打开文件的功能,它有如下属性和方法: 属性

qt——QFileDialog使用对话框选取本地文件

QT在学习的过程中总是遇到各种问题,没有人解答,只有自己在研究并且在网上搜索一些资料,从初学到现在入门,一直都是这样走过来的,虽然走得很艰难,但是每一个阶段都会有所收获,最近在做一个图片浏览模块的功能,需要实现一个图片修改以后把图片另存为的功能,刚开始觉得挺麻烦,查找资料的时候也觉得很繁琐,很多资料都不是很详细,花费了我两天的时间我才将这个功能给实现了,到最后发现这个功能实现实际很简单,知识自己不了解QFileDialog控件和它的用法,导致白白浪费了这么多时间,不过也在这个过程中对QFileD

FilesPath++ | 快速插入文件(夹)

分类: 杂类工具    版本: 0.0.2    发布日期: 2015-11-13 一个简单.小众的快餐程序,方便快速输入任意文件(夹)路径. 功能简介 通过点击按钮或按下热键快速插入文件或文件夹路径 支持历史记录菜单,方便快速调出历史文件(夹)路径 连续路径输入时,可通过“输入后自动换行”选项自动添加并跳到新行 启用“使用剪贴板”选项后可排除中文输入法的影响(不会影响剪贴板已有内容) 按下 [Win]+[鼠标左键] 将窗口移到鼠标附近 更新日志 优化 编辑窗口获取功能代码,窗口定位更准确 优化

多选择文件打开对话框

多选择文件打开对话框 关键点 可以打开多个文件 实现过程 CString filter = "文本文档(*.txt)|*.txt|所有文件(*.*)|*.*||"; CFileDialog OpenFileDialog(TRUE, NULL, "*.txt", OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT|OFN_ALLOWMULTISELECT, filter); //     OpenFileDialog.m_ofn.lpstrI

弹出打开/保存文件对话框 选择文件夹对话框

打开/保存文件对话框: CFileDialog::CFileDialog( BOOL bOpenFileDialog, //为TRUE则显示打开对话框,为FALSE则显示保存对话文件对话框 LPCTSTR lpszDefExt = NULL, //默认的文件扩展名 LPCTSTR lpszFileName = NULL, //默认的文件名 DWORD dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, //设定风格 LPCTSTR lpszFilt

NSOpenPanel 使用(MAC 打开文件夹对话框的使用)

1.得到多个选择的文件 2.指定文件类型 -(NSString *)get_fullpath { NSOpenPanel *panel = [NSOpenPanelopenPanel]; NSArray* fileTypes = [[NSArrayalloc] initWithObjects:@"txt",@"doc", nil]; [panel setMessage:@"select a file"]; [panel setPrompt:@&q