Today I’ve begun creating the general framework for my program in Tkinter (again). The first thing I needed to do was divide my layout into a grid to make placement of each part easier. Here’s the very crude yet effective way I did that:
I began making the components that would need to be placed, but soon realized that it was going to take me a lot longer than I originally thought. Each checkbox, scrollbox, labe, and button needs to be individually coded. After working on this for an hour and only getting 15 elements placed, I realized that it might be more efficient to use a constructor like Steve did in his edit to my code. I’ve had an aversion to creating classes lately, but I’m beginning to think it’s time I overcame my fear. Here’s what I’ve made so far:
That took 79 lines of code to make.
Yea.
After creating this portion of my code, I realized that I’m going to have to do a lot of background code to make it all function correctly. In particular, these questions need to be answered:
- What happens when the first scroll box is set higher than the second?
- What happens if a user moves a scrollbox but doesn’t click the strand checkbox?
- Should the listening checkbox automatically be checked if a strand checkbox is checked (or if a scrollbox is adjusted)?
In addition, when I showed my first prototype to the teachers, they expressed concern over the terminology. The strands all have different descriptions which are difficult for every teacher to remember. I’m thinking I need to insert a little help button next to each one that will pop-up a description of the strand for the user.
There’s a lot of work to be done today.