Используйте QState.assignProperty с динамическими значениями во время выполнения

У меня есть вопрос к использованию QStateMachine-Система PyQt5 должным образом.

С помощью

State.assignProperty(aLineEdit, "plainText", "Some text")

позволяет установить "Some text" к plainText-свойства всякий раз, когда aState активен

Вопрос: что если "Some text" не является постоянной или известной до исполнения? Мое намерение состоит в том, чтобы передать функцию (в отличие от подключения partial или же lambda выражение к событию) вместо значения, которое могло бы дать соответствующее значение при входе в состояние.

Моя единственная идея эмулировать это поведение - подключить функцию, которая устанавливает свойство в aState.entered, Однако я не доволен этим решением, потому что оно смешивает места, в которых установлены свойства, и причину использования QStateMachine чтобы избежать необходимости вручную устанавливать состояния.

1 ответ

Ваша единственная идея верна, но вы должны включить ее в вспомогательный метод, чтобы функция вызывалась при входе в состояние.

Другие вопросы по тегам