I am writing a program with Qt that looks like this:

The main window is the Window : QWidget class that I defined. It has a QGridLayout , which has basically 1 row and 3 columns. As you can see, the first column contains the menu (this is the Menu :QWidget class), the second and third columns contain the canvas (the Canvas : QWidget class, which I also defined).
It's very hard for me to try to figure out how dimensions work. So far, I just determined the minimum size for the first column width (in my window layout) to fix the menu width, and I set a fixed size for Canvas in its constructor (for example: setFixedSize(QSize(size_in_pixels, size_in_pixels)); ).
The problem, of course, is that this does not work well for the user to scale the window. I suppose what I would like to do is somehow set my canvas sizeHint to size_in_pixels (my preferred size), but this is hardly possible. I would also like my canvases to have the same height and width. I read the Qt documentation and tried a few things, but I cannot come up with a solution.
What will be the way for you? Thanks so much for your ideas.
Seub source share