如何使一个按钮,通过它的名字命名的功能,在按下的时候吗?

问题描述 投票:1回答:1

我有一个创建一个基于文件夹的子文件夹中按钮的功能。它创建子文件夹每一个按钮,并为它的子文件夹的名称。

当按下时,我想的按钮来打开另一个功能,通过该功能,它的名字。

def _sidepanel(self):
    curdir = "/Users/xxx/Desktop/Test/"
    layout = BoxLayout(orientation="vertical", pos_hint={"x": 0.0, "y": 0.0}, size_hint=(0.1,1))

    for folders in glob(join(curdir, "*")):
        name = basename(folders)
        btn = Button(text=name, on_press=lambda x: self._printname(name))
        layout.add_widget(btn)

    return layout

def _printname(self, name):
    print(name)

我有5子文件夹,并且我希望一个按钮,打印其具体名称,而是它们都打印在第一功能运行的最后一个文件夹的名称。

python kivy
1个回答
0
投票

你的最后一个环节,解决了我的问题。谢谢 - 只是附上了我的编辑代码。

def _sidepanel(self):
    curdir = "/Users/xxx/Desktop/Test/"
    layout = BoxLayout(orientation="vertical", pos_hint={"x": 0.0, "y": 0.0}, size_hint=(0.1,1))

    layout.add_widget(Button(text="Import\nPhotos"))
    layout.add_widget(Button(text="Create\nReport"))
    layout.add_widget(Button(text="Save?"))
    layout.add_widget(Button(text="Button 4"))

    for folders in glob(join(curdir, "*")):
        name = basename(folders)
        btn = Button(text=name, on_press=lambda n=name:self._showphotos(n))
        layout.add_widget(btn)

    return layout


def _showphotos(self, entry):
    print(entry.text)
© www.soinside.com 2019 - 2024. All rights reserved.