【发布时间】:2021-10-04 23:43:13
【问题描述】:
我有一个 MDDataTable,它有一个 bind(on_row_press),我试图在其中返回该行的一个特定列,而不管它在哪里被点击。我在文档中找不到任何内容。这可能吗?
简单示例:
from kivymd.app import MDApp
from kivymd.uix.datatables import MDDataTable
from kivy.metrics import dp
class TestApp(MDApp):
def build(self):
mddatatable = MDDataTable(
pos_hint={'center_x': 0.5, 'center_y': 0.5},
size_hint=(1, 1),
check=False,
use_pagination=True,
rows_num=10,
column_data=[
("ID", dp(5)),
("Description", dp(30)),
("Value", dp(10))
],
row_data=[
("1", "Description One Here", "$100"),
("2", "Description Two Here", "$200"),
("3", "Description Three Here", "$300")
]
)
mddatatable.bind(on_row_press=self.print_id)
return mddatatable
def print_id(self, instance_table, instance_row):
print(instance_row.text)
TestApp().run()
现在,如果您单击“此处的说明一”,它将输出“此处的说明一”。同样,如果您单击“$100”,它将输出“$100”。我正在寻找输出 ID 列,因此即使您单击第 1 行中的其他位置,它仍然会输出“1”。
【问题讨论】: