1

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

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

是否有关于正确使用 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])

任何帮助深表感谢

4

1 回答 1

1

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

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

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

这是更新的代码:

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])

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

于 2013-11-09T15:47:47.500 回答