【问题标题】:File dialog in python sl4apython sl4a中的文件对话框
【发布时间】:2016-06-13 17:18:49
【问题描述】:

我正在sl4a 中寻找一个简单的文件选择器对话框。我找到了一些原生对话框here,但没有找到我要找的那个。

我希望我可以通过找到现成的东西来节省时间。像filename = fileopendialog() 这样的最小代码将是一个奖励。

有什么想法吗?

【问题讨论】:

    标签: python dialog sl4a


    【解决方案1】:

    我决定自己写(见下文以供参考)。这可能会变得更好,欢迎提出任何建议。

    import android, os, time
    
    droid = android.Android()
    # Specify root directory and make sure it exists.
    base_dir = '/sdcard/sl4a/scripts/'
    if not os.path.exists(base_dir): os.makedirs(base_dir)
    
    def show_dir(path=base_dir):
        """Shows the contents of a directory in a list view."""
        #The files and directories under "path"
        nodes = os.listdir(path)
        #Make a way to go up a level.
        if path != base_dir: 
            nodes.insert(0, '..')
        droid.dialogCreateAlert(os.path.basename(path).title())
        droid.dialogSetItems(nodes)
        droid.dialogShow()
        #Get the selected file or directory .
        result = droid.dialogGetResponse().result
        droid.dialogDismiss()
        if 'item' not in result:
           return
        target = nodes[result['item']]
        target_path = os.path.join(path, target)
        if target == '..': target_path = os.path.dirname(path)
        #If a directory, show its contents .
        if os.path.isdir(target_path): 
            show_dir(target_path)
        #If an file display it.
        else:
            droid.dialogCreateAlert('Selected File','{}'.format(target_path))
            droid.dialogSetPositiveButtonText('Ok')
            droid.dialogShow()
            droid.dialogGetResponse()
    
    if __name__ == '__main__':
        show_dir()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      • 1970-01-01
      相关资源
      最近更新 更多