Опитвам се да добавя квадратчета за отметка към wxpython gui по време на изпълнение, но изглежда не се показва. Моят код е по-долу.
Опитах да следвам публикацията ‹ Добавяне на квадратче за отметка в wxPython по време на изпълнение >, но не успя да го накара да работи. Използвах също wxFormBuilder, за да видя как добавя квадратче за отметка по време на инициализация; Успях да потвърдя, че self.mainWindow.p_SelectionPanel е мястото, където искам да добавя квадратчето за отметка. Също така проверих с дебъгера, за да се уверя, че всеки ред от кода се изпълнява поне веднъж.
Малко повече информация за приложението: това е GUI на wxPython с вграден в него график на matplotlib. Опитвам се да генерирам квадратчета за отметка от входящ поток от сериен порт, така че потребителят да може да показва/скрива серии по време на изпълнение. point е речник с ключа като име на серията и стойността на серията като стойност на речника.
Моля, уведомете ме, ако имате нужда от повече контекст.
Благодаря предварително за помощта.
def addNewCheckBoxes(self,point):
sizer = self.mainWindow.p_SelectionPanel.GetSizer()
addedCheckBox = False
for key in point.keys():
if key not in self.cbList.keys():
self.cbList[key] = wx.CheckBox(self.mainWindow.p_SelectionPanel)
sizer.Add(self.cbList[key])
addedCheckBox = True
if addedCheckBox:
self.mainWindow.p_SelectionPanel.SetSizer(sizer)
self.mainWindow.p_SelectionPanel.Layout()