【问题标题】:How to use TideSDK openFolderChooseDialog如何使用 TideSDK openFolderChooseDialog
【发布时间】:2013-11-09 04:07:12
【问题描述】:

我正在尝试使用 TideSDK 和 python tp 让用户从硬盘驱动器中选择一个文件夹。一切正常,但我不知道如何获取用户选择的文件夹。

我似乎找不到有关 Ti.UI.UserWindow.openFolderChooseDialog 返回什么以及回调函数使用哪种对象的文档。当我尝试将其打印出来时,我在下面的代码中的“onopen”中的“window”是一个无类型对象时出现错误。

是否有关于正确使用 openFolderChooseDialog、回调需要什么签名以及如何从对话框中获取文件夹/目录的文档?

我的代码:

def onopen(window):

    Ti.App.stdout("------------------  Opening Dialog")
    Ti.App.stdout(window)

def burndir():


    try:
        dir = Ti.UI.getCurrentWindow().openFolderChooserDialog(onopen)
        Ti.App.stdout(dir)

    except:
        Ti.App.stderr("------ There was an error: ")

        Ti.App.stderr(sys.exc_info()[0])
        Ti.App.stderr(sys.exc_info()[1])
        Ti.App.stderr(sys.exc_info()[2])

非常感谢任何帮助

【问题讨论】:

    标签: python tidesdk


    【解决方案1】:

    我在这里的 Javascript 代码示例中找到了答案:

    https://github.com/appcelerator/titanium_developer/blob/master/Resources/perspectives/projects/js/projects.js#L1338

    openFolderChooserDialog 似乎什么都不返回(Python 中的 None 对象)。回调函数传递一个参数,它是一个 StaticBoundList(Python 中的 Tuple 对象),其中包含所有选定的文件夹(在允许多选的情况下)

    这是更新后的代码:

    def onopen(window):
    
        if (len(window) > 0):
            Ti.App.stdout("------------------  Opening Dialog")
            Ti.App.stdout(window[0])
        else:
            Ti.App.stdout("------------------  Nothing Selected")
    
    
    def burndir():
        try:
            Ti.UI.getCurrentWindow().openFolderChooserDialog(onopen)
    
        except:
            Ti.App.stderr("------ There was an error: ")
    
            Ti.App.stderr(sys.exc_info()[0])
            Ti.App.stderr(sys.exc_info()[1])
            Ti.App.stderr(sys.exc_info()[2])
    

    我希望这可以帮助那些努力寻找相同文档的人!

    【讨论】:

      猜你喜欢
      • 2023-03-09
      • 2015-02-15
      • 2015-05-25
      • 1970-01-01
      • 2012-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多