Аргумент element_type по умолчанию имеет значение False вместо «текста» в соединении слота PySide6.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Аргумент element_type по умолчанию имеет значение False вместо «текста» в соединении слота PySide6.

Сообщение Anonymous »

Я создаю приложение PySide6 для macOS, где у меня есть кнопка, которая должна добавить новый элемент с element_type по умолчанию, равным «текст». Однако всякий раз, когда я нажимаю кнопку, чтобы добавить новый элемент, аргумент element_type в моей функции add_new_item неожиданно по умолчанию принимает значение False вместо «text».
Я не уверен, почему 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»