Я хотел получить некоторые мнения о части кода, который я написал. Мой пользовательский интерфейс состоит из QTableWidget
, в котором есть 2 столбца, где один из 2 столбцов заполнен QComboBox
.
Для первого столбца он заполнит ячейки списком ригов персонажей (полный путь), которые он найдет в сцене, а второй столбец создаст Qcombobox
на ячейку и заполнит параметры цвета, поскольку параметр исходит из json-файл.
Прямо сейчас я пытаюсь создать несколько переключателей, которые дают пользователю возможность отображать все результаты или скрывают эти строки, если в Qcombobox
для этой конкретной строки нет параметров цвета.
Как вы можете видеть в моем коде, я заполняю данные для каждого столбца, и поэтому, когда я пытался вставить if not len(new_sub_name) == 0:
, в то время как он не вставляет никаких Qcombobox
с нулевыми параметрами, но как мне скрыть такие строки, где есть нет вариантов в Qcombobox
?
def populate_table_data(self):
self.sub_names, self.fullpaths = get_chars_info()
# Output Results
# self.sub_names : ['/character/nicholas/generic', '/character/mary/default']
# self.fullpaths : ['|Group|character|nicholas_generic_001', '|Group|character|mary_default_001']
# Insert fullpath into column 1
for fullpath_index, fullpath_item in enumerate(self.fullpaths):
new_path = QtGui.QTableWidgetItem(fullpath_item)
self.character_table.setItem(fullpath_index, 0, new_path)
self.character_table.resizeColumnsToContents()
# Insert colors using itempath into column 2
for sub_index, sub_name in enumerate(self.sub_names):
new_sub_name = read_json(sub_name)
if not len(new_sub_name) == 0:
self.costume_color = QtGui.QComboBox()
self.costume_color.addItems(list(sorted(new_sub_name)))
self.character_table.setCellWidget(sub_index, 1, self.costume_color)
(sub_name, fullpath)
заключено в скобки? Я предполагаю, что это просто оптимизация и сокращение моего кода? 30.09.2016enumerate
, так что это могло быть не очевидно. 30.09.2016