【问题标题】:wxPython how to get row ID of list item that is double clickedwxPython如何获取被双击的列表项的行ID
【发布时间】:2016-08-29 19:50:00
【问题描述】:

我正在开发一个 wxPython 应用程序,其中我使用了 12 列的 wx.ListCtrl。单击按钮后,该控件会填充一些值...比如说姓名、年龄、班级、房屋...等。

现在我想创建一个双击事件,在双击列表项时应该会弹出一个带有 Name 值的 msgbox,但是我无法获取被双击的行项的行号或 ID ...

这是我的代码:-

self.subList.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.DblClickOptions)

def DblClickOptions(self, extra):
    itm = self.subList.GetItem(itemId='???', col=1)
    itm_text = itm.GetText()
    ctypes.windll.user32.MessageBoxA(0, itm_text, "title", 1)

在上面的代码中,我需要获取被双击的列表项的行号来代替'???'

请有人帮我解决这个问题。

问候, 普雷曼舒

【问题讨论】:

    标签: python wxpython listctrl


    【解决方案1】:

    http://xoomer.virgilio.it/infinity77/wxPython/Events/wx.ListEvent.html#methods-summary

    (通常您命名为extra 的变量名为eventevt ...)

    extra.GetIndex() 将是行 ID

    extra.GetText() 将是行文本

    【讨论】:

    • 这太棒了:)。谢谢乔兰的帮助。我是 Python 新手,这是我第一次尝试开发一些东西。
    • 我刚开始编码,并没有学习任何教程...所以不知道正确的编码方式...命名为额外而不是事件...实际上把它放在那里我收到一个错误,说该方法需要 1 个参数并提供 1,即使我没有使用任何参数调用它,所以要解决它,只需在方法本身中添加一个额外的参数。
    • 您还可以回答我在同一个论坛上的另一个帖子吗....我会通过您的 ID 转发给您。如果您也可以的话,请提供帮助.... 非常感谢您提前
    • 这里是我另一个问题的链接:-
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多