[파이썬] wxPython `wx.ListBox`: 목록 박스

wx.ListBox

The wx.ListBox is a widget in the wxPython library that allows you to display a list of items and select one or more items from the list. It provides a convenient way to present data options to the user in a graphical user interface.

Creating a wx.ListBox

To create a wx.ListBox widget in your wxPython application, follow these steps:

  1. Import the wxPython library:

    import wx
    
  2. Create a wx.ListBox object:

    listbox = wx.ListBox(parent, id, pos, size, choices, style)
    
    • parent: The parent widget or frame that the wx.ListBox belongs to.
    • id: An identifier for the wx.ListBox.
    • pos: The position (x, y) of the wx.ListBox on the parent widget or frame.
    • size: The size (width, height) of the wx.ListBox.
    • choices: A list of options or items to display in the wx.ListBox.
    • style: Additional style options for the wx.ListBox.

Example Usage

Here’s an example of how to use the wx.ListBox widget in a wxPython application:

import wx

class MyFrame(wx.Frame):
    def __init__(self, parent):
        wx.Frame.__init__(self, parent, title="wx.ListBox Example")

        panel = wx.Panel(self)

        choices = ["Option 1", "Option 2", "Option 3", "Option 4", "Option 5"]

        listbox = wx.ListBox(panel, choices=choices)

        # Bind an event handler for item selection
        listbox.Bind(wx.EVT_LISTBOX, self.on_select)

        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer.Add(listbox, 1, wx.EXPAND | wx.ALL, 10)
        panel.SetSizer(sizer)

    def on_select(self, event):
        selected_item = event.GetEventObject().GetStringSelection()
        print(f"Selected item: {selected_item}")


app = wx.App()
frame = MyFrame(None)
frame.Show()
app.MainLoop()

In this example, we create a wx.ListBox widget with the choices “Option 1” to “Option 5”. We bind the wx.EVT_LISTBOX event to an event handler on_select, which prints the selected item when an item is clicked.

Conclusion

The wx.ListBox is a powerful widget in the wxPython library for displaying and selecting items from a list. Its straightforward implementation and event handling make it easy to incorporate into your Python applications.