将当前单击的按钮作为参数传递给Kivy中的on_press(Python)

时间:2017-06-19 18:35:57

标签: python button widget kivy

我正在尝试在单击时删除当前按下的按钮。我的代码如下:

self.tp.get_current_tab().content.children[0].remove_widget(self.btn)
self.tp.switch_to(self.tp.get_current_tab())

然而,self.btn会被覆盖。这是我创建按钮的地方:

self.btn = Button(text=self.btn.text, size_hint=(0.5,0.5), on_press=self.remove_filter_btn)

有没有办法将当前点击的按钮传递给remove_filter_btn?

感谢。

1 个答案:

答案 0 :(得分:2)

private void TextBlock_Loaded(object sender, RoutedEventArgs e) { TextBlock textBlock = sender as TextBlock; TreeViewItem tvi = FindParent<TreeViewItem>(textBlock); ItemsControl parent = ItemsControl.ItemsControlFromItemContainer(tvi); int index = 1; while (parent != null && parent.GetType() == typeof(TreeViewItem)) { index++; parent = ItemsControl.ItemsControlFromItemContainer(parent); } textBlock.Margin = new Thickness(0, 0, 25 * index, 0); } 应该已经接收了调用按钮的实例作为参数。

示例:

remove_filter_btn

<强>执行:

enter image description here