簡體   English   中英

wxPython-在ListCtrl中設置項目並獲取所選項目

[英]wxPython - Set Items in ListCtrl and Get Selected Item

我有以下代碼用於創建一個稱為“瀏覽器列表”的ListCtrl。

self.browserList=wx.ListCtrl(panel, pos=(20,150), size=(250,100), style.wx.LC_REPORT|wx.BORDER_SUNKEN)
self.browserList.InsertColumn(0, '')
self.browserList.InsertColumn(1, 'Browser: ')
self.browserList.SetColumnWidth(0, 50)
self.browserList.SetColumnWidth(1, 200)

我想添加以下內容以將這些字符串添加為項目,但將其放在第一列中,而我需要在第二列中:

self.browserList.InsertStringItem(1, 'Google Chrome')
self.browserList.InsertStringItem(2, 'Mozilla Firefox')

另外,如何獲取所選項目並將其存儲在變量中?

比這復雜一點。 您插入該項目,然后使用SetStringItem將數據插入其他列。 這是一個快速而骯臟的例子:

import wx

########################################################################
class MyForm(wx.Frame):

    #----------------------------------------------------------------------
    def __init__(self):
        wx.Frame.__init__(self, None, wx.ID_ANY, "List Control Tutorial")

        # Add a panel so it looks the correct on all platforms
        panel = wx.Panel(self, wx.ID_ANY)
        self.index = 0

        self.list_ctrl = wx.ListCtrl(panel, size=(-1,100),
                                     style=wx.LC_REPORT
                                     |wx.BORDER_SUNKEN
                                     )
        self.list_ctrl.InsertColumn(0, '', width=50)
        self.list_ctrl.InsertColumn(1, 'Browser', width=200)

        # add some browsers
        self.list_ctrl.InsertStringItem(0, "foo")
        self.list_ctrl.SetStringItem(0, 1, "Google Chrome")
        self.list_ctrl.InsertStringItem(1, "bar")
        self.list_ctrl.SetStringItem(1, 1, "Mozilla Firefox")

        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer.Add(self.list_ctrl, 0, wx.ALL|wx.EXPAND, 5)
        panel.SetSizer(sizer)

#----------------------------------------------------------------------
# Run the program
if __name__ == "__main__":
    app = wx.App(False)
    frame = MyForm()
    frame.Show()
    app.MainLoop()

我個人更喜歡使用ObjectListView而不是ListCtrl。 我只是認為效果更好。 但是您可能會發現我的舊提示和技巧教程很有用:

而且,如果您決定進行切換,那么您可能會發現這也很有幫助:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM