Это не столько вопрос, сколько просьба объяснить. Я следую Марку Саммерфилду «Быстрое программирование GUI с помощью Python и Qt», и я, должно быть, что-то пропустил, потому что я не могу понять следующий механизм, чтобы связать воедино реальный «элемент экземпляра _», который я использую и полный различных типов данных и «элемент виджета _», который для удобства представляет его в модели QTreeWidget.
Настройка:
widget_item.setData(0, Qt.UserRole, QVariant(long(id(instance_item))))
Получение
widget_item.data(0, Qt.UserRole).toLongLong()[0]
Такие вещи, как toLongLong()
, вообще не кажутся "Pythonic", и почему мы вызываем Qt.UserRole и QVariant? являются ли функции «setData» и «данные» частью структуры Qt или это более общая команда Python?