问候所有人,
我有一个wxPython项目(使用wxFormBuilder创建),它包含两个面板,每个面板都包含一个wxListCtrl。加载列表控件时,每个列表控件都可以显示不同的列。由于列表包含在面板中,因此它们都具有相同的ID,并且列表的填充例程具有相同的例程。
我需要在运行时确定正在填充哪个列表,以便我可以检索适当的配置数据。如果我使用list.GetID(),我保证每次运行时这些值都是相同的吗?也就是说,我可以安全地根据GetID()值保存配置详细信息,这样下次运行时它会做出正确/相同的事情吗?
是否有更好,更聪明,更简单的方法让我望而却步?
谢谢!
答案 0 :(得分:0)
我认为没有任何保证GetID()将保持一致运行。
您可以在制作完成后为每个列表分配自己的ID吗?类似的东西:
listctrl.myID = 5
另一个想法是,如果子ID不是唯一的,也许您可以使用GetParent()并构建父ID和列表ID的元组,然后这个元组将是唯一的。
即使分配的ID不是唯一的,Python ID也会是。
答案 1 :(得分:0)
您可以为name属性赋予不同的值,然后在需要引用其中一个时使用FindWindowByName吗?