Добавление флажка в Ultimatelistctrl с добавлением - PullRequest
0 голосов
/ 23 апреля 2020

Итак, у меня есть ultimatelistctrl, который выглядит следующим образом:

    self.FileList=ULC.UltimateListCtrl(self.panel,size=(self.width,400),agwStyle=wx.LC_REPORT
                                       |ULC.ULC_USER_ROW_HEIGHT|ULC.ULC_SINGLE_SEL|ULC.ULC_BORDER_SELECT|ULC.ULC_AUTO_TOGGLE_CHILD)
    self.FileList.SetUserLineHeight(30)
    self.FileList.SetHeaderHeight(40)
    self.FileList.SetFont(self.ListText)
    #self.FileList.Bind(wx.EVT_LIST_ITEM_FOCUSED,self.OnItemSelect)

    #First Column
    info=ULC.UltimateListItem()
    info._mask=wx.LIST_MASK_TEXT|wx.LIST_MASK_IMAGE|wx.LIST_MASK_FORMAT|ULC.ULC_MASK_CHECK
    info._image=[]
    info._format=0
    info._text="Select"
    info._kind=1
    self.FileList.InsertColumnInfo(0,info)
    self.FileList.SetColumnWidth(0,70)

    #Second Column
    info=ULC.UltimateListItem()
    info._mask=wx.LIST_MASK_TEXT|wx.LIST_MASK_IMAGE|wx.LIST_MASK_FORMAT|ULC.ULC_MASK_CHECK
    info._image=[]
    info._format=0
    info._text="Name"
    self.FileList.InsertColumnInfo(1,info)
    self.FileList.SetColumnWidth(1,400)

    #Third Column
    info=ULC.UltimateListItem()
    info._mask=wx.LIST_MASK_TEXT|wx.LIST_MASK_IMAGE|wx.LIST_MASK_FORMAT|ULC.ULC_MASK_CHECK
    info._image=[]
    info._format=0
    info._text="Database"
    self.FileList.InsertColumnInfo(2,info)
    self.FileList.SetColumnWidth(2,150)

    #fourth Column
    info=ULC.UltimateListItem()
    info._mask=wx.LIST_MASK_TEXT|wx.LIST_MASK_IMAGE|wx.LIST_MASK_FORMAT|ULC.ULC_MASK_CHECK
    info._image=[]
    info._format=0
    info._text="Size"
    self.FileList.InsertColumnInfo(3,info)
    self.FileList.SetColumnWidth(3,150)

    #Fifth Column
    info=ULC.UltimateListItem()
    info._mask=wx.LIST_MASK_TEXT|wx.LIST_MASK_IMAGE|wx.LIST_MASK_FORMAT|ULC.ULC_MASK_CHECK
    info._image=[]
    info._format=0
    info._text="Status"
    self.FileList.InsertColumnInfo(4,info)
    self.FileList.SetColumnWidth(4,110)

Теперь я хочу использовать добавление для добавления данных в список.

self.FileList.Append([wx.CheckBox(self.FileList,-1),listOfFiles[i],database,stringSize,""])

Но я получаю ошибку

TypeError: argument of type 'CheckBox' is not iterable

Я знаю, что могу создать элемент с

self.FileList.InsertStringItem(i,"",it_kind=1)

, а затем флажок и все работает. Но затем мне нужно добавить одну строку, чтобы вставить каждую строку, и я также должен отслеживать элемент, который я только что создал.

Но я хочу использовать функцию добавления, и я чувствую, что просто вызываю кнопку с флажком неправильно.

1 Ответ

0 голосов
/ 24 апреля 2020

Итак, я нашел обходной путь, чтобы все еще использовать append. Но мне все еще очень хотелось бы знать, что поставить внутри добавления, чтобы получить флажок.

Сейчас я только что добавил после добавления

self.FileList.SetItemKind(self.FileList.GetItemCount()-1,0,kind=1)

Но это не совсем так. Решение, которое я посмотрел.

...