问题标签 [qlayout]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
4948 浏览

c++ - Hiding an element using Qt

I'm trying to hide a QDoubleSpinBox in a Qt interface program, using c++.

I have found the function hide(), but it is not working as I expected, since when I hide the element, the space it used to occupy, is not taken into account, so all my window turns crazy. I was wondering if there is any function to hide and keep the space occupied, like if it is normal. I thought that maybe would be a function like this because is common in other frameworks or even JavaScript.

If there is not... any solution?

0 投票
1 回答
2510 浏览

qt - Qt 布局未扩展

我有一个 Qt 小部件,它有一个框架,包含其余的小部件。

我只希望其中一个小部件在最大化窗口时展开,所以我为其他小部件设置了最大值。

但它只会在我为框架设置网格布局时扩展,这会弄乱小部件的位置。

我该如何解决?

0 投票
2 回答
55288 浏览

qt - 调整窗口大小以适应内容

我有一个 QGLWidget,我想将其调整为给定的分辨率(大于包含窗口)。我的意图是,窗口会展开,直到小部件适合里面,但找不到办法。

我在调整 QGLWidget 的大小后尝试了几个命令以使其无法成功运行。我将在这里列出结果:

  • 什么都不做:小部件与整个窗口重叠。最终它将调整大小以适应较小的窗口
  • mainWindow.adjustSize(): 小部件被调整为 (0, 0)
  • mainWindow.resize(mainWindow.sizeHint()): 看上面
  • mainWindow.resize(mainWindow.minimumSizeHint()): 看上面

我还在这个线程中读到,在调整 mainWindow 大小之前,我需要运行事件循环来重新计算新的大小,所以我插入QCoreApplication::processEvents了这样做,没有任何可见的效果。

那么如何通过小部件调整窗口大小?

编辑

GLWidget 不是窗口的唯一小部件。它与分组框一起嵌入到拆分器中。

0 投票
1 回答
90 浏览

c++ - Layoust 问题:当表单布局设置为垂直时,组框中的 Qlistbox 会自动展开

我在 QgroupBox 中有一个 Qlistbox,其布局设置为“表单布局中的布局”,现在 QgroupBox 位于布局设置为垂直的表单内。实际上,每当我将表单的布局设置为垂直时,QlistBox 都会展开。我已将列表框的大小策略设置为固定,但它仍在扩展。有什么建议么 ?

0 投票
2 回答
3194 浏览

c++ - 如何为 QFormLayout 的第一列设置最小宽度?

如何设置第一列的最小宽度QFormLayout?我可以QGridLayout通过使用来做到这一点QGridLayout::setColumnMinimumWidth(int, int),但找不到一种方法来做到这一点QFormLayout

0 投票
2 回答
29434 浏览

c++ - 在布局中的 QLabel 上设置文本,不会调整大小

使用 Qt creator 中的设计器,我创建了一个对话框,其中包含垂直布局中的各种小部件。其中一个小部件是 QLabel,其自动换行设置为 true。QLabel 的文本是在对话框显示之前设置的。

QLabel 的最大宽度和高度为 16777215,垂直尺寸策略设置为Expanding,水平方向为Preferred。我试过改变尺寸政策。

我遇到的问题是,如果文本很大,QLabel 无法相应调整,文本被剪裁,如下所示: -

在此处输入图像描述

在设置文本后,我尝试为对话框调用 updateGeometry(),还尝试在垂直布局上调用 update,但似乎没有任何区别。理想情况下,我希望 QLabel 垂直调整以适应文本。

有人可以告诉我我在这里缺少什么吗?

0 投票
1 回答
1951 浏览

qt - 正确获取 QDockWidget 布局

我大量使用停靠小部件让用户按照她想要的方式安排工具。我的一些停靠小部件包含静态控件(FS,固定垂直尺寸),其他描绘图像,越大越好(ES,扩展垂直尺寸)。

我面临的问题是我无法获得让我这样做的大小提示配置:

  1. 使可变大小的dockwidgets尽可能大
  2. 让所有的dockwidgets标签彼此没有错误的行为

对于 1.,我可以将所有 FS 的内容小部件的垂直策略设置为“固定”。这将强制容器将所有可用空间用于可变大小的小部件。但是,一旦 ES 小部件与 FS 小部件一起被标记,而 FS 小部件未显示,我充其量是顽固的行为(用户无法调整大小)和最坏的错误行为(调整大小时,会发生绘图错误,实际大小没有变化)。

对于 2.,我可以将所有垂直策略设置为“首选”(FS)或“扩展”(ES)。这应该优先考虑 ES,但事实并非如此。我还尝试过使用 Vertical Stretch 进行游戏(虽然它在不涉及 DockWidgets 的其他场景中很有帮助)

我遇到了这样一种情况:默认情况下,应用程序会浪费空间,并且每当窗口大小/布局发生变化时,用户都必须对 dockwidget 大小进行多次调整。这是非常乏味和违反直觉的。

我该怎么做?

还有一个后续问题:如何教 DockWidget 它的内容具有特定的纵横比?

0 投票
1 回答
717 浏览

qt - 如何正确使用 Qt 布局

我正在尝试使用 GUI 布局,看看我能用它做什么。这是我希望实现的目标:小部件的上半部分有一个标题框,它应该如下所示:

徽标应位于框架的中心,左侧没有任何内容。LOGO右侧也会有一个按钮。LOGO有固定大小。

我可以在没有按钮的情况下将LOGO设置在中心,但是一旦添加它,LOGO的位置就会改变。

所以我目前的解决方案是在LOGO的左边加一个不带文字的测试标签,这样边框就和中间的LOGO对称了。

但是我仍然对这种布局的正确方法感到好奇,有人可以帮忙吗?非常感谢

0 投票
0 回答
574 浏览

qt - 我们可以为 QLayout 中的小部件设置不同的对齐方式吗?

我在水平布局中有许多小部件。我已将对齐设置为垂直中心,因此所有小部件都按比例放置,并且内容边距设置为 (0, 0, 0, 0)。

我想再添加一个与顶部而不是中心对齐的小部件。

有没有办法在同一布局中添加具有不同对齐方式的小部件?

一种解决方案:将最后一个小部件添加到垂直布局并将其对齐到顶部,然后将该垂直布局添加到水平布局。但这增加了一种我认为可以避免的布局。

0 投票
1 回答
1083 浏览

c++ - 内存管理 - addwidget 是否分配父级

说我有这样的东西

addWidget 是否使 sb 成为 someClass 的孩子,这样当我删除 someClass sb 时也会被删除?如果这是真的,我怎么知道通常哪些方法将父母分配给一个对象?