Добавить динамический флажок внутри вертикального макета, используя PyQt

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

class SlotWindow(QMainWindow, Ui_MainWindow):

""" App Main Window that will execute """

def __init__(self, file_path):
    """ set the file path """
    self.file_path = file_path
    super().__init__()
    self.setupUi(self)

    self.reel_check_box = dict()
    self.process.clicked.connect(self.create_slot_xml_file)
    self.reel_strip.currentIndexChanged.connect(self.create_dynamic_reel_options)
    # get the default combox data for basic reel
    reel_name = ReelXmltoDataRead(self.file_path, "Basic").get_name_list()
    self.create_dynamic_combobox(reel_name)


def create_dynamic_combobox(self, reel_names):
    """"""
    print(reel_names)
    for index in self.reel_check_box:
        try:
            self.reel_check_box[index].deleteLater()
        except:
            pass
    self.reel_check_box = dict()
    for index, reel in enumerate(reel_names):
        self.reel_check_box[index] = QCheckBox()
        # self.reel_check_box[index].setGeometry(QtCore.QRect(50, 20 + index*30, 151, 22))
        self.reel_check_box[index].setText(_translate("MainWindow", reel, None))
        self.reel_name.addWidget(self.reel_check_box[index])
    self.show()

def create_dynamic_reel_options(self):
    """ create dynamic reel box """
    print("this method get call")
    reel_name = self.reel_strip.currentText()
    reel_name_list = ReelXmltoDataRead(self.file_path, reel_name).get_name_list()
    self.create_dynamic_combobox(reel_name_list)

Метод create_dynamic_reel_options получает вызов для определенных событий кнопки, сначала он удаляет все предыдущие флажки и создает новый, старый удаляется, но новый не получает отображение.

self.reel_strip - вертикальное расположение

0 ответов

Другие вопросы по тегам