wxPython - 区分两个相同的小部件

时间:2010-02-19 14:21:59

标签: wxpython

问候所有人,

我有一个wxPython项目(使用wxFormBuilder创建),它包含两个面板,每个面板都包含一个wxListCtrl。加载列表控件时,每个列表控件都可以显示不同的列。由于列表包含在面板中,因此它们都具有相同的ID,并且列表的填充例程具有相同的例程。

我需要在运行时确定正在填充哪个列表,以便我可以检索适当的配置数据。如果我使用list.GetID(),我保证每次运行时这些值都是相同的吗?也就是说,我可以安全地根据GetID()值保存配置详细信息,这样下次运行时它会做出正确/相同的事情吗?

是否有更好,更聪明,更简单的方法让我望而却步?

谢谢!

2 个答案:

答案 0 :(得分:0)

我认为没有任何保证GetID()将保持一致运行。

您可以在制作完成后为每个列表分配自己的ID吗?类似的东西:

listctrl.myID = 5

另一个想法是,如果子ID不是唯一的,也许您可​​以使用GetParent()并构建父ID和列表ID的元组,然后这个元组将是唯一的。

即使分配的ID不是唯一的,Python ID也会是。

答案 1 :(得分:0)

您可以为name属性赋予不同的值,然后在需要引用其中一个时使用FindWindowByName吗?