input_on_action.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. # Copyright 2021-2024 Avaiga Private Limited
  2. #
  3. # Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
  4. # the License. You may obtain a copy of the License at
  5. #
  6. # http://www.apache.org/licenses/LICENSE-2.0
  7. #
  8. # Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
  9. # an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
  10. # specific language governing permissions and limitations under the License.
  11. # -----------------------------------------------------------------------------------------
  12. # To execute this script, make sure that the taipy-gui package is installed in your
  13. # Python environment and run:
  14. # python <script>
  15. # -----------------------------------------------------------------------------------------
  16. import logging
  17. from taipy.gui import Gui
  18. # Configure logging
  19. logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
  20. def key_pressed(state, id, payload):
  21. key = payload.get('args', [None])[0]
  22. if key == 'F1':
  23. logging.info("F1 key pressed")
  24. elif key == 'F2':
  25. logging.info("F2 key pressed")
  26. elif key == 'F3':
  27. logging.info("F3 key pressed")
  28. else:
  29. return None
  30. value = 0
  31. # on_action function is called when the action_keys are pressed
  32. page = """
  33. <|{value}|input|change_delay=300|on_action=key_pressed|action_keys=F1;F2;F3|>
  34. """
  35. if __name__ == "__main__":
  36. Gui(page).run(title="Input - On change")