Since I’m working on a rather small project, I decided to implement a simple version of the Model-View-Controller pattern. Here’s the basic idea:
: |_ app.py
: |_ data.py
: |_ res
: |_ view.py
In the package
model there are two modules:
data, which knows relevant data (e.g. letter codes), and
app, which contains logic. The class
app.App should be used for requests from other modules.
Code related to the look of individual views can be found in
view.view. Image resources are saved in the subfolder
The program is started by executing
main.py, which contains the
Controller. It loads
view, instantiates classes and connects Observers with Observables.
Continue reading “MVC and Observer Pattern”
When building a GUI, I tend to spend way too much time on style decisions. I’m pretty sure that there are ways to speed up that process, but I have yet to figure them out. For my Amino Acid Trainer project, I’m trying to make decisions faster by structuring objectives in a TODO list and working my way through.
My TODO List
- Choose general style (modern, retro, funny, cute, professional,…)
- Choose fonts
- Find fitting color palette
- Sketch layouts for most views (positions and sizes – no color!)
- Decide how buttons should look (mostly shape, but also a few color ideas)
- Color all elements on my sketches (revisions might be necessary)
- Create images (buttons,…)
- Implement most views with dummy data
- Add missing parts
Doesn’t seem too complicated, does it? Let’s take a closer look at my objectives.
Continue reading “Quiz Design”
It’s time for a new project – let’s see if I can apply what I’ve learned.
Since I’m terrible at learning things by heart, I’ve always struggled with amino acid formulas and letter codes. However, when working with ion channels or similar biomolecules, you need to know these things really well. Therefore, I’ll build a small quiz to help me (and maybe some other people) memorize structures, one-letter and three-letter codes. Continue reading “The Next Project”