I had a play with GuiZero again since it's v0.4 was released last month and 'clickable waffles' now allows me to do something I wanted to do from the start when guizero came and I notice the waffle had been advanced, notably it is clickable.

This is so simple yet soooo satisfying. Not mega coding, not even something that is that taxing to think of

While guizero doesn't do colour in RGB, but predetermined word strings and hex, I did suggest RGB be added, I forget where there led too, anyway this is the reason I suggested it. That and we teach the easy scale of 0 of 255 but not the hex confloption in maths and science

They both work well together.
GuiZero can control the display.
SenseHAT can give GuiZero it's sensor to create a display for.
Sense_emu can also be used, though does lack the bright light 'wow' factor

Extensions (off the top of my head)
-Add a clear(0,0,0) on windows close
-Change the colour for the click, e.g. RGB sliders
-Create an image in the waffle and see it on screen/hat, then figure out a way of exporting the colours (get_pixels?) in to a cut and paste list for use in SenseHat code.
-Sensor display, since sense-emu is built in to Raspberry Pi Desktop Raspbian/x86
-Text in a text box and display it on the SenseHat.

Added the much needed clear LED on close, save the eyes
Added a RGBtoHEX function thanks to https://github.com/lawsie/guizero/issues/31
and the Sliders to go with it RGB (top to bottom, just add labels), maybe even a single waffle to display the colour
and a reset display.
- possible changes alter if big_waffle.get_pixel(x,y) == "white": to clear on same colour not just any colour

Did you see my sense_draw application?viewtopic.php?f=32&t=202010
It has an example of converting from Hex to RGB and allows you to directly draw sprites on to the sense hat.

BTW I added the clickable waffle functionality to guizero so I'll take look to see if I can change it to accept RGB (and hex) and raise a pull request.
EDIT: Spotted your issue on guizero github. I've responded

Didn't see that.
Whatever the RGB->HEX HEX->RGB solution is, it needs to be guizero wide, not just in a waffle, but i'll leave that to the github chat, keep this topic clear. The quick function I used works well.

My solution for exporting the values would be a simple, since I've based it around letting the kids play and is designed to use the sense_hat (or sense_emu which all Raspberry Desktops should have) in Teaching, CodeClubs, Jam's etc.

So I would create a textbox (though it seems we cannot increase the height like a true textbox
then just either with a button or at the end of the change_pixel code (for constant update on change)
add
textbox.value=sense.get_pixels()
(or just as you print(sense.get_pixels()) though that kind of defeats the point of the GUI )

no extra code needed and returns the uniquely odd numbers the Sensehat converts too.
For example my white (set as 255,255,255) is stored and returned as (248,252,248). I know why they are not what they are set as, but not why R and B is different to G.
Nothing to worry about, but might be interesting explaining it to older kids.

Bit messy but Sensors (if compass is enabled then it locks out Yaw & Roll from orientation iirc.?)
Grid doesn't work as I expected.
Formatting layout is not done (if it can?)
It's a start for anyone trying it.
IMU are destined for their own box.
It's tedious.

having trouble with RGB so still have to use built in colours..
(only spent 10 mins this morning)

the set_pixel part is easy
but get_pixel isn't reporting RGB list (though wouldn't tuple be better here than a list ?)
anyway.
just typing to remind myself later to hit the code and see what's happening/to report back for the next version.

I've set the color of 3 different waffle cells using 3 different methods; RGB, hex value and 'color name'. The waffle either returns the color name or the hex color code.

What do you believe the get_pixel or get_all should return under the following conditions?
1. If i set the pixel color using a colour name eg "red"
2. if i set the pixel color using a hex color code eg "#ffeeff"
3. if i set the pixel color using an RGB value e.g. (255,0,255) (Which is internally converted to a hex color code)

What do you believe the get_pixel or get_all should return under the following conditions?
1. If i set the pixel color using a colour name eg "red"
2. if i set the pixel color using a hex color code eg "#ffeeff"
3. if i set the pixel color using an RGB value e.g. (255,0,255) (Which is internally converted to a hex color code)

1. "red"
2. #ffeeff
3. (255,0,255)

Unless I ask it with a .asHex() .asRGB() .asColourName()
Sort of thing.

I see your Github post .
Work in progress and it's nice to use though. Might have another play and try something else see what other problems I can find as a user.
Or nice to haves.
Still I've managed not to look at any Tkinter docs so far.

I notice he's missed off height in the docs as a property of it, but does mention it in the example and that works too.
Do you know what the width & height integer number refers to because a 20x20 box is not square?

Also I have a new replacement SenseHAT hot off the line as they had been waiting for them since one of my old ones had and led died on it.
These new one has a much squarer LED set on them and from first blinding look are brighter to. (They are not diffused like the round one)
Perhaps an LED 'waffle' shape change option in the GUI.