Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Complete a Local PyDM/Simulacrum Setup
  2. Run through the GitHub quick start tutorial
  3. Run through the GitHub tutorial on contributing to projects
    1. Note that I recommend using the ssh approach as it leverages what we did in step 1
  4. Join the slaclab tutorial team
  5. Recommended but not required: download Download and install PyCharm

...

  1. Fork the tutorial repository and clone it to your machine (see prerequisites step 3)


Info

Unless otherwise specified, everything hereafter will be done in the PyDM conda environment set up in prerequisites step 1

Simple GUI

Explore

  1. Navigate to the simple subdirectory and run pydm simple.py. This will launch a simple GUI:
    1. Image Added
  2. Play with it. Note that the "selected options" output doesn't change until you click the "update status" button. It's meant to reflect the state of the checkboxes at the point the button is pressed
  3. Launch designer and open simple.ui
    1. Note the Object Names in the Object Inspector:
      1. Image Added
      2. The checkboxes, push button, and output label all have custom names that reflect what they are (the standard names are typically not helpful and make connecting to them in python much harder)
    2. Note the different layouts; they allow for window resizing and snapping to grid
    3. Note that we changed the window title in the Property Editor
      1. Image Added
  4. Open the tutorial repo with PyCharm and navigate to simple.py. Read through it and try to understand how the connections are happening (clicking through the provided links as necessary)

Exercises

  • Rename a widget in designer without changing the python file. Does it launch? Try to edit the python file to make it work again
  • Disable or delete the button and see if you can have the status label update whenever one of the checkboxes is toggled

Content by Label
showLabelsfalse
max5
spacesSRF
showSpacefalse
sortmodified
reversetrue
typepage
cqllabel = "pydm" and type = "page" and space = "SRF"
labelskb-how-to-article

...