首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从wxpython ListBox获取项目列表

获取 wxPython ListBox 中的项目列表,可以使用 Python 语言和 wxPython 库。以下是获取项目列表的代码示例:

代码语言:python
代码运行次数:0
复制
import wx

class MyListBox(wx.ListBox):
    def __init__(self, parent, id, name, pos, size):
        super().__init__(parent, id, name, pos, size)

    def GetListCtrl(self):
        return self

    def GetSelectedItems(self):
        return self.GetSelections()

    def SetListCtrl(self, listCtrl):
        self.SetUserStyle(wx.LB_EXTENDED)
        self.SetItemCount(ListCtrl.GetItemCount())
        self.SetColumnCount(ListCtrl.GetColumnCount())

    def OnGetItemText(self, pos, flag):
        item = ListCtrl.GetItem(pos)
        return item.GetText()

    def OnGetItemAttr(self, pos):
        item = ListCtrl.GetItem(pos)
        attr = wx.ListItemAttr()
        if item.IsSelected():
            attr.SetBackgroundColour('#ffffff')
        return attr

    def OnSelect(self, pos):
        item = ListCtrl.GetItem(pos)
        selected_items = self.GetSelectedItems()
        if selected_items != 0:
            self.SetItemState(item, 0, wx.LIST_STATE_SELECTED)
        else:
            self.SetItemState(item, 0, wx.LIST_STATE_SELECTED)

    def OnUnselect(self, pos):
        item = ListCtrl.GetItem(pos)
        self.SetItemState(item, 0, wx.LIST_STATE_SELECTED)

    def OnItemClick(self, event):
        self.SetItemState(event.GetItem(), 1, wx.LIST_STATE_SELECTED)

在上面的代码中,我们创建了一个继承自 wx.ListBox 的自定义类,并重写了几个重要的方法,包括 GetListCtrl()GetSelectedItems()SetListCtrl()OnGetItemText()OnGetItemAttr()OnSelect()OnUnselect()OnItemClick() 等方法。通过这些方法,我们可以获取和操作 ListBox 中的项目列表。

最后,在主窗口中,我们创建了一个 MyListBox 类的实例,并将其添加到主窗口中。通过 MyListBox 实例,我们可以获取 ListBox 中的项目列表,并对其进行各种操作。例如,我们可以使用以下代码获取 ListBox 中的所有项目:

代码语言:python
代码运行次数:0
复制
my_list_box = MyListBox(self, -1, 'My List Box', (50, 50), (300, 200))
for i in range(my_list_box.GetItemCount()):
    item = my_list_box.GetItem(i)
    print(item.GetText())

以上代码将打印出所有 ListBox 项目的内容。我们还可以使用 GetSelectedItems() 方法获取选中的项目数量,使用 SetItemState() 方法设置项目被选中或未被选中,使用 GetItemAttr() 方法设置项目被选中或未被选中时的背景颜色等。

以上是获取 wxPython ListBox 中的项目列表的基本步骤。当然,在实际的应用中,我们还需要对 ListBox 进行更多的定制和扩展,以适应不同的应用场景。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何列表获取元素

有两种方法可用于列表获取元素,这涉及到两个命令,分别是lindex和lassign。...lassign接收至少两个变量,第一个是列表变量,第二个是其他变量,也就是将列表中的元素分配给这些变量。例如: ? 可以看到此时lassign比lindex要快捷很多。...情形1:列表元素的个数比待分配变量个数多 例如,上例中只保留待分配变量x和y,可以看到lassign会返回一个值c,这个值其实就是列表中未分发的元素。而变量x和y的值与上例保持一致。 ?...综上所述,可以看到在使用lassign时要格外小心,确保变量个数与列表长度一致,或变量个数小于列表长度,否则会出现待分配变量最终被赋值为空字符串的情形。...思考一下: 如何用foreach语句实现对变量赋值,其中所需值来自于一个给定的列表

17.3K20
  • 如何Facebook获取流量?

    我认为有一点非常重要 - 像我们这样的营销人员应该理解统计数据是如何工作的,尤其是具有代表性的数据。...其中一个你可能听说过是Buzzfeed,去年他们发表了一个长篇大论,关于他们如何社交媒体获得70%以上流量,并声称他们不关心搜索,认为搜索优化毫无用处,现在没有人做SEO了,如此等等。...04 第四点,吸引初次点击的角度来分析,标题往往比内容更为关键。...并不是说标题比内容更重要,但在Facebook上,标题所占的空间通常都很大,这也解释你为什么会看到类似列表,诱骗点击等这类可能存在争议的现象出现。...如果在你的推送中没有看到,就去我的推送列表下,点击、点赞、分享、评论。” 然后可能自然覆盖就能得到扩大,因为Facebook最关心在头5或10分内的交互度是怎样。

    5.1K40

    教你用Python写界面

    当你需要添加一个注释时,你应该考虑如何修改代码才能不需要注释 作为Pyhon开发者,你迟早都会碰到图形用户界面(GUI)应用开发任务,这时候我们就需要一些界面库来帮助我们快速搭建界面,python的界面库很多...3.wxpython wxPython 是 Python 语言的一套优秀的 GUI 图形库,允许 Python 程序员很方便的创建完整的、功能键全的 GUI 用户界面。...4.Kivy 这是一个非常有趣的项目,基于OpenGL ES 2,支持Android和iOS平台的原生多点触摸,作为事件驱动的框架,Kivy非常适合游戏开发,非常适合处理widgets到动画的任务。...listbox=listbox:listbox.delete(ANCHOR)) DELETE.grid(row=1,column=2) language=Button(frame4,text="确定"...) language.grid(row=2,column=1) 这是一个列表,注意这里按钮点击事件的写法是用lambda表达式写的 ?

    4.4K30

    如何获取Facebook用户的隐私好友列表

    本文分享的漏洞writeup,只需知道Facebook用户的注册邮箱或者手机号码,就能间接获取该用户相关的隐私好友列表,进而推断出用户的一个大致的社交关系图谱。...Facebook好友列表的隐私设置 默认来说,Facebook用户的好友列表是公开的,当然,Facebook也给这个好友列表设置了三种不同的隐私选项:公开、朋友可见和仅自己可见等自定义设置),具体参考Facebook...https://www.facebook.com/gettingstarted/' -H ‘cookie: xxxx’ — compressed 这里,Facebook向恶意攻击者推送的“你可能认识的人”相关列表...,正是目标受害者的好友列表,如下: ?...整个过程可在以下PoC视频中观看,视频中作者用目标受害者邮箱为注册人信息,用自己的手机号码作为联系更新信息,最终,这种方式也能同样获得目标受害者好友列表: 漏洞总结 该漏洞可以被一些恶意用户或攻击者利用

    3.8K30

    Python 笔记:GUI编程(Tkinter)

    wxPythonwxPython 是一款开源软件,是 Python 语言的一套优秀的 GUI 图形库,允许 Python 程序员很方便的创建完整的、功能键全的 GUI 用户界面。...li     = ['C','python','php','html','SQL','java']movie  = ['CSS','jQuery','Bootstrap']listb  = Listbox...(root)          #  创建两个列表组件listb2 = Listbox(root)for item in li:                 # 第一个小部件插入数据    listb.insert...Checkbutton 多选框控件;用于在程序中提供多项选择框 Entry 输入控件;用于显示简单的文本内容 Frame 框架控件;在屏幕上显示一个矩形区域,多用来作为容器 Label 标签控件;可以显示文本和位图 Listbox...列表框控件;在Listbox窗口小部件是用来显示一个字符串列表给用户 Menubutton 菜单按钮控件,由于显示菜单项。

    5.1K30

    python项目练习九:文件共享2-GUI版本

    python里面的界面库有很多,如wxPython、wgGTK、tkinter,还有QT,按照书中的实例,我也使用wxPython来做界面。...话说有了这个界面之后,我发现迅雷的网邻也不过如此(稍有夸张的成份),不过这个项目的练习之上再继续扩展的话,基本效果可以达到网邻的那种,如果有时间的话我可以继续扩展这个项目。下面就开始编写GUI。...这个wxPython库的使用,我觉得和以前使用java的awt编写界面没啥区别,没有什么难点,只是需要理解里面的几个概念,像是按钮、文本框、绑定事件,仅此而已。...hbox.Add(submit, flag=wx.TOP | wx.BOTTOM | wx.RIGHT, border=10) self.files = files = wx.ListBox...另外可以添局域网查询功能,就像是现在迅雷网邻的换一换,就是查找当前局域网内正在使用我们软件的所有用户,然后把他们的资源情况列到我们的列表上。

    65610

    python如何键盘获取输入实例

    python中使用input()函数来获取用户输入 函数 input() 让程序暂停运行,等待用户输入一些文本,获取用户的输入后,Python将其存储到一个变量中,以方便后期使用。...me your name,and I will repeat it back to you:") print(name) 函数 input() 接收一个参数,就是要想用户展示的提示或说明,让用户知道该如何做...print("age = 18") else : print("age < 18") 知识点扩充: Python读取键盘输入 raw_input函数 raw_input([prompt]) 函数标准输入读取一个行.../usr/bin/python str = input("Enter your input: "); print "Received input is : ", str 到此这篇关于python如何键盘获取输入实例的文章就介绍到这了...,更多相关python怎么键盘获取输入内容请搜索ZaLou.Cn以前的文章或继续浏览下面的相关文章希望大家以后多多支持ZaLou.Cn!

    4.7K20

    PySimpleGUI 进阶| 原来用Python做一个图片查看系统,还能这么简单!

    学习过其他GUI库,诸如wxpython、Tkinter等,这个key就像是用来绑定事件的函数一样。在面向对象语言中,这就像定义了一个类一般。...最后一个元素是Listbox,显而易见,这是用来展示所选文件列表中的所有照片路径的信息。你可以在这个列表中点击你想看的照片。对于这个列表箱子,你可以传递字符串列表来填充他。...Listbox是一个列表箱子,顾名思义是一个列表类型的。 在Listbox里面先设置了空的列表值,这是因为第一次打开图形交互页面时,由于你没有选择文件夹,所以对应的箱子是空的。...” 接下里看layout中的第二个列表元素 image_viewer_column = [ [sg.Text("左边图片列表中选择一张图片:")], [sg.Text(size=(40...同时运用.update()函数在列表箱子Listbox里更新所选列表中的所有图片信息。

    2.8K20

    如何获取SpringBoot项目的applicationContext对象

    ApplicationContext对象是Spring开源框架的上下文对象实例,在项目运行时自动装载Handler内的所有信息到内存。...传统的获取方式有很多种,不过随着Spring版本的不断迭代,官方也慢慢的不建议使用部分方式。 下面我简单介绍一种Spring官方推荐使用的方式!...基于SpringBoot平台完成ApplicationContext对象的获取,并通过实例手动获取Spring管理的bean. 构建项目 本章项目不需要太多的内容,添加Web依赖就可以了。...特有的功能, 早在Spring3.0x版本之后就存在了这个接口,在传统的Spring项目内同样是可以获取到ApplicationContext实例的,下面我们看看该如何编码才能达到我们的效果呢?...实例完成对Spring管理的Bean实例手动获取 参考:https://www.jianshu.com/p/3cd2d4e73eb7

    1.7K20
    领券