Hey guys, I recently started an online Python course as I had some interest in it, this is the second assignment I have received (first one was a purely text based Python solver), and I have become really stuck as I haven't found much on GUI.

Basically its about class & GUI design - writing a GUI for playing games of Sudoku. It should contain 4 screen dumps:

beginning.png - straight after the actual game is loaded.
showchoices.png - once the respective button is pushed.
fail.png - straight after a move that creates an unsolvable game.
successful.png - when game has been solved.


Obviously all the above are provided and just need to be called in the program I presume. It also asks to call on a video of an interaction with the GUI, which is also provided.

It asks for the following GUI components:

File menu with "Open the game" & "Exit"
9 buttons to represent current choice
Canvas to display state of game
Button which toggles showing/hiding choices in empty square
Button to determine if auto-fill should be used
An undo button - which should also undo auto-fill moves
Status label that is blank during the game but either comes up with "Unsolvable" or "Finished"


It also asks for interaction with the mouse - when mouse clicks on an empty square, one of the following should happen:

If there is ONE choice - then make that choice
> 1 choice - if choice is allowed, make that choice
OR - no choice is made


Sorry guys, really am stumped on this one as I been given no real theory on GUI - was wondering if anyone had any help on starting this or maybe had some links or files of their own with similar code which might be of assistance to me.

Either way, thanks for any advice you can give me guys!

***PS: I have read the stickied topic of about the homework help - I am more than willing to make an effort myself, it is just I have not found much information on GUI. I have searched the web but I do not know if it is useful or relevant information for the most part of it***

This article has been dead for over six months. Start a new discussion instead.