Skip to content

Approach for developing an Graphical User Interafce

OE9NAT edited this page Apr 1, 2022 · 15 revisions

Description of how the flow of development begins and progresses through the development phases of a project.

Phases
1 Analysis and modeling
2 Documentation
3 Script generation
3.1 requirements reevaluation
4 GUI customization
5 Referenzes

Analysis and modeling

  • What is wanted from the system.
  • What are the custemers expectations for the Projekt
  • Front end requirements for the system
  • The requirements for the backend depend on which system it is to run on. In this project the software was developed to run with the hardware on a Linux PC. However, it can also be used on a Windows PC to a limited extent.

Documentation

Writing notes on the side during software implementation is essential to keep the system in a predetermined structure. This style of a programing is used not only when handing over a project or subsections to others, but also for self-assessment. This makes it possible to monitor the project and keep it on the track that the customer has requested.

Script generation

During the writing of a program, tests must be continuously performed on the system on which it will run in the end. This is important in order not to have a bad experience at the end, since the software in this project is very hardware dependent. Testing should also involve the customer at predefined stepstones to evaluate the project and meet the requirements.

GUI customization

Front-end development is crucial for the look and feel of the workflow and hence essenctial for a good user experience. Special applications always have their advantages and disadvantages, as they are developed for a specific application. For this reason, they are highly specialized for one task, but they are not expected to work well in other areas.

Referenzes

Python_GUI_programming
Tkinter pyhton guides
Tkinter library 3.8 \

Code snipets

Butten

A short example of how a butten is defined.

puls_button = tk.Button(info_box, text="Set FID Sequence", command=lambda: Sequenz.window_sequenz("fid", self.get_values(), "1", value_set))
puls_button.grid(row=3, column=0, columnspan=2,padx=2, pady=2, sticky="ew")

Entery

A short example of how a entery area is defined.

freq_start_input = tk.Entry(self.frame_measure, textvariable=freq_start, justify="right", fg="black", bg="white", width=10)
freq_start_input.grid(row=1, column=1, sticky="ew", padx=5, pady=5)
freq_start_input.insert(0, "000")
tk.Label(self.frame_measure, text="MHz").grid(row=1, column=2)
freq_start_input.focus()

Introduction

  • Pull repo to local PC
  • open cmd
  • run start.py
  • GUI should start
  • set experiment file structure
  • add comments to the Experiment and Data
  • "save and close"
  • select type of sequence
  • save parameter
  • questioned material
  • Arduino connections
  • tune and match
  • SDR connections
  • first run

Clone this wiki locally