我有一个objectlistview,在我对它进行了一些过滤后,它会给我一些数据(如果有人知道的话,它是mediamonkey风格的)。现在我有了第二个屏幕,在那里我必须显示相同的objectlistview(相同的过滤结果)。这个步骤我已经编程了。现在,当用户在objectlistview 1上选择一行时,我需要第二个obectlistview来显示相同的选择。
这可能吗?你是怎么做到的?也许它类似于:获取objectlistview 1的选择,然后查看它在objectlistview 2中的位置并选择它?
提前发送
编辑:更新:我在objectlistview1中向objectlistview2发送了一条关于选择的pubsubmessage,但你能以编程方式为单元格提供焦点/选择吗?
好吧,我已经用这种方法解决了它(我不知道这是否是最好的方法,但它有效:)。我使用GetSElectedObject()和SelectObject()。
OLV-1:中的项目选择
def on_item_selection(self, event):
pub.sendMessage("CellSelectionItemlist",
Container(master=self, origin=self.itemlist,data=self.OLV-1.GetSelectedObject()))
在其他文件中:
def __init__(self, parent, id):
pub.subscribe(self.on_Cell_Selection, "CellSelectionItemlist")
def on_Cell_Selection(self,message):
selectedCell = message.data.data
self.MACellList.SelectObject(selectedCell, ensureVisible=True,deselectOthers=True)