Я не уверен, почему element_type переопределяется или неправильно интерпретируется как False, поскольку я явно установил для него значение «text» в определении функции.
Вот соответствующая часть моего кода:
Код: Выделить всё
# Button to add new elements
self.add_button = QPushButton("Add Element")
self.add_button.clicked.connect(self.add_new_item)
def add_new_item(self, element_type="text", content=None, element_id=None):
# Create a new element with a unique ID if not provided
if element_id is None:
element_id = self.data_manager.add_element(element_type, content or f"Content of element {self.drag.blayout.count()}")
# Create a visual representation of the element in the interface
new_element = DragItem(content or f"Content of element {self.drag.blayout.count()}", element_id, self.data_manager)
new_element.set_data(content or f"Content of element {self.drag.blayout.count()}")
# Add the element to the interface
self.drag.add_item(new_element)
print("New element added")
- Установка значения по умолчанию для element_type как " text".
- Использование лямбда-функции в соединении, например self.add_button.clicked .connect(lambda: self.add_new_item("text")). Однако из-за этого функция вообще перестала создавать новые элементы.
Подробнее здесь: https://stackoverflow.com/questions/791 ... lot-connec