用于调整大小的Qt布局

用于调整大小的Qt布局,qt,layout,Qt,Layout,我是Qt开发的新手,正在为我正在开发的游戏编写关卡编辑器,我在设计中遇到了布局问题 以下是我希望它看起来的样子: (我没有足够的代表发布图片,这里有一个链接:) 很明显,右边会有更多的按钮和东西,这些东西实际上会出现在OpenGL画布中 因此,我有两个具体问题: 1) 如何设置它,以便在用户重新调整窗口大小时,应用程序可以适当地重新调整其内容的大小?我可以通过将按钮放入垂直布局,然后将其和OpenGLCanvas放入拆分器布局来接近我想要的内容,但这会导致画布的大小与按钮的宽度相同,而不是将按

我是Qt开发的新手,正在为我正在开发的游戏编写关卡编辑器,我在设计中遇到了布局问题

以下是我希望它看起来的样子:

(我没有足够的代表发布图片,这里有一个链接:)

很明显,右边会有更多的按钮和东西,这些东西实际上会出现在OpenGL画布中

因此,我有两个具体问题:

1) 如何设置它,以便在用户重新调整窗口大小时,应用程序可以适当地重新调整其内容的大小?我可以通过将按钮放入垂直布局,然后将其和OpenGLCanvas放入拆分器布局来接近我想要的内容,但这会导致画布的大小与按钮的宽度相同,而不是将按钮固定为屏幕最右边的100像素

2) 有没有一种简单的方法允许滚动画布?级别的大小可能会比屏幕上显示的大小大很多,因此如果是这样,我想在画布上添加水平和垂直滚动条。(如果级别太大,或者用户将窗口设置得太小,使其不再适合。在后一种情况下,滚动条应仅在实际不适合时显示)。有没有一个简单的方法可以做到这一点,或者我必须手动完成所有的事情

谢谢

  • 看和
  • 看和

  • 如果没有正确调整内容的大小,听起来好像您没有设置顶级布局。另外,您确定要使用拆分器布局吗?我不确定在这种情况下会给你带来什么好处,它可以通过调整画布的大小来隐藏按钮。也许你有理由喜欢这个。无论如何,在Designer中,我可以创建类似于您所展示的内容的内容,通过以下方式正确调整大小:

    • 添加按钮,然后将其分组为垂直布局
    • 添加画布
    • 然后选择表单(右键单击其他小部件未使用的表单上的某个位置,或右键单击对象检查器中的表单),然后从关联菜单中选择布局->水平布局
    通过稍微修改此选项,您应该能够滚动画布:

    • 将QScrollArea小部件添加到表单中
    • 将画布移动到QScrollArea小部件
    • 与表单之前一样,右键单击表单上的滚动区域小部件或对象检查器中的滚动区域小部件,然后通过选择布局->某些布局选项应用布局。我使用了垂直布局

    如果没有正确调整内容的大小,听起来好像您没有设置顶级布局。另外,您确定要使用拆分器布局吗?我不确定在这种情况下会给你带来什么好处,它可以通过调整画布的大小来隐藏按钮。也许你有理由喜欢这个。无论如何,在Designer中,我可以创建类似于您所展示的内容的内容,通过以下方式正确调整大小:

    • 添加按钮,然后将其分组为垂直布局
    • 添加画布
    • 然后选择表单(右键单击其他小部件未使用的表单上的某个位置,或右键单击对象检查器中的表单),然后从关联菜单中选择布局->水平布局
    通过稍微修改此选项,您应该能够滚动画布:

    • 将QScrollArea小部件添加到表单中
    • 将画布移动到QScrollArea小部件
    • 与表单之前一样,右键单击表单上的滚动区域小部件或对象检查器中的滚动区域小部件,然后通过选择布局->某些布局选项应用布局。我使用了垂直布局

    机顶盒布局到底是什么意思?如何设置它?基本上,表单或小部件是GUI元素树。顶层元素是树的根,换句话说,就是表单或小部件。如果没有对该元素应用布局,Qt不知道调整其大小时应该如何操作。要设置顶级元素,首先应该在没有其他布局的位置右键单击它,或者在对象检查器中右键单击它。然后从关联菜单中选择布局->所需的布局。以下链接可能会有所帮助:设置顶级布局到底意味着什么?如何设置它?基本上,表单或小部件是GUI元素树。顶层元素是树的根,换句话说,就是表单或小部件。如果没有对该元素应用布局,Qt不知道调整其大小时应该如何操作。要设置顶级元素,首先应该在没有其他布局的位置右键单击它,或者在对象检查器中右键单击它。然后从关联菜单中选择布局->所需的布局。以下链接可能会有所帮助: