我正在使用Qt编写一个应用程序,界面如下图所示:
主窗口是我定义的Window:QWidget类,它有一个QGridLayout,基本上有1行3列。正如你所看到的,第一列包含一个菜单(Menu:QWidget类),第二列和第三列各包含一个画布(Canvas:我也定义的QWidget类)。
我很难弄清楚尺寸是如何工作的。到目前为止,我只是在我的窗口布局中为第一列的宽度定义了最小值,以固定菜单的宽度,并在构造函数中为Canvas设置了一个固定大小(像这样:setFixedSize(QSize(size_in_pixels, size_in_pixels));)。
问题当然是,在用户重新调整窗口大小时,它表现得非常糟糕。我想做的是将Canvas的sizeHint设置为size_in_pixels(我首选的大小),但这似乎几乎不可能。我还希望我的Canvas始终具有相同的高度和宽度。我一直在阅读Qt文档并尝试着许多事情,但我无法找到解决方案。
请问,您认为应该怎么做?非常感谢您的建议。
主窗口是我定义的Window:QWidget类,它有一个QGridLayout,基本上有1行3列。正如你所看到的,第一列包含一个菜单(Menu:QWidget类),第二列和第三列各包含一个画布(Canvas:我也定义的QWidget类)。
我很难弄清楚尺寸是如何工作的。到目前为止,我只是在我的窗口布局中为第一列的宽度定义了最小值,以固定菜单的宽度,并在构造函数中为Canvas设置了一个固定大小(像这样:setFixedSize(QSize(size_in_pixels, size_in_pixels));)。
问题当然是,在用户重新调整窗口大小时,它表现得非常糟糕。我想做的是将Canvas的sizeHint设置为size_in_pixels(我首选的大小),但这似乎几乎不可能。我还希望我的Canvas始终具有相同的高度和宽度。我一直在阅读Qt文档并尝试着许多事情,但我无法找到解决方案。
请问,您认为应该怎么做?非常感谢您的建议。