Используйте QState.assignProperty с динамическими значениями во время выполнения
У меня есть вопрос к использованию QStateMachine
-Система PyQt5
должным образом.
С помощью
State.assignProperty(aLineEdit, "plainText", "Some text")
позволяет установить "Some text"
к plainText
-свойства всякий раз, когда aState
активен
Вопрос: что если "Some text"
не является постоянной или известной до исполнения? Мое намерение состоит в том, чтобы передать функцию (в отличие от подключения partial
или же lambda
выражение к событию) вместо значения, которое могло бы дать соответствующее значение при входе в состояние.
Моя единственная идея эмулировать это поведение - подключить функцию, которая устанавливает свойство в aState.entered
, Однако я не доволен этим решением, потому что оно смешивает места, в которых установлены свойства, и причину использования QStateMachine
чтобы избежать необходимости вручную устанавливать состояния.
1 ответ
Ваша единственная идея верна, но вы должны включить ее в вспомогательный метод, чтобы функция вызывалась при входе в состояние.