【问题标题】:Add filebrowser in Kivy在 Kivy 中添加文件浏览器
【发布时间】:2015-09-07 12:56:30
【问题描述】:

我有一个显示 2 张图像的简单工作代码,但是我希望它在文件被浏览后显示。

我的代码:

from kivy.uix.image import Image
from kivy.uix.floatlayout import FloatLayout 
from kivy.app import App
from kivy.uix.scatter import Scatter

class CanvasApp(App):
    def build(self):
        f = floatlayout()
        s = Scatter()
        s1 = Scatter()
        img_1 = Image(source='img0.jpg',pos=(10,280), size=(300,300))
        img_2 = Image(source='img1.jpg',pos=(350,280), size=(300,300))

        f.add_widget(s)
        s.add_widget(img_1)
        f.add_widget(s1)
        f.add_widget(img_2)
        return f
if __name__ == '_main__':
    CanvasApp().run()

上述代码中的问题: 1.如何使用文件浏览器在源代码中提供路径,我对文件浏览器的了解,

from os.path import sep, expanduser, isdir, dirname
user_path = expanduser('~') + sep + 'Documents'
browser = FileBrowser(select_string='Select',
                      favorites=[(user_path, 'Documents')])

我怎样才能对两个图像独立使用散射。在上述方法中,我只能在 img0.jpg 上使用 scatter 属性

【问题讨论】:

标签: python python-2.7 kivy


【解决方案1】:

在原始的 kivy.garden.Filebrowser 示例中,未提及以下两个导入:

从 kivy.garden.filebrowser 导入 FileBrowser
from kivy.utils 导入平台

这是一个小的工作示例:

from kivy.app import App
from os.path import sep, expanduser, isdir, dirname
from kivy.garden.filebrowser import FileBrowser
from kivy.utils import platform

class TestApp(App):

    def build(self):
        if platform == 'win':
            user_path = dirname(expanduser('~')) + sep + 'Documents'
        else:
            user_path = expanduser('~') + sep + 'Documents'
        browser = FileBrowser(select_string='Select',
                              favorites=[(user_path, 'Documents')])
        browser.bind(
                    on_success=self._fbrowser_success,
                    on_canceled=self._fbrowser_canceled)
        return browser

    def _fbrowser_canceled(self, instance):
        print ('cancelled, Close self.')

    def _fbrowser_success(self, instance):
        print (instance.selection)

TestApp().run()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-02
    相关资源
    最近更新 更多