问题标签 [qsizepolicy]

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 投票
1 回答
12092 浏览

python - Pyqt:在具有布局管理器的两个小部件应用程序上强制执行 sizeHint() 尺寸

我有两个小部件彼此相邻,WidgetA并且WidgetB在 aQDialog上具有水平布局管理器。
我正在尝试执行以下大小/调整大小策略:
对于WidgetA

  • 水平方向:宽度应为 900,并且可以收缩(最多 100)和扩展(任意)。
  • 垂直:高度应该是 600,并且可以扩展(到任何东西)。

对于WidgetB

  • 水平:宽度应固定为 600。
  • 垂直:高度应为 600,具有扩展(到任何)的能力 - 与WidgetA.

但是无论我为 WidgetA 选择哪种尺寸策略,它仍然不会占用 900 的宽度。
这是一个代码示例:

我能得到的最接近的是当我设置时:

WidgetA

在此处输入图像描述

似乎是从900 宽度WidgetB中咬了一口(消除就可以了),但我不应该受到窗口宽度的限制。 是什么阻止了窗口本身()自动水平扩展以考虑900 宽度和600 固定宽度?WidgetAWidgetB
MainFormWidgetAWidgetB

0 投票
1 回答
443 浏览

c++ - Qt5 - 使用 QSizePolicy 调整 QSplitter 的大小

我想创建一个包含 3 个部分的小部件:主窗口包含一个水平 QSplitter,其中包含一个垂直 QSplitter。但是我没有走那么远,因为第一个拆分器没有在窗口中最大化。我阅读了文档,但仍然无法弄清楚。

(我认为添加完整的源文件不是必需的,但如果您愿意,我会添加它们。)

0 投票
2 回答
323 浏览

qt - 如何限制 sizegrip 只能垂直或水平调整大小?

我正在将 sizegrip(QSizegrip) 添加到右下角的垂直栏,它正在水平和垂直调整大小,实际上它应该只允许垂直,怎么做?欢迎任何其他解决方案。

图片了解详情

0 投票
2 回答
1271 浏览

qt - 如何在 Qt Creator 中将 Qdialog 设置为具有尽可能小的固定高度和扩展宽度?

我有一个带有水平布局和几个元素的 Qdialog。现在,我希望将高度固定为可能的最小尺寸(而宽度仍然可以调整大小)。

我可以设置几个属性,例如:

  • sizePolicy, minimumSize, maximumSize, baseSize,layoutSizeConstraint

我试图了解这些价值观是如何相互作用的以及一些组合,但没有一个能得到我想要的。

例如,在我的情况下,我可以Height在 中输入尽可能小的值,并将垂直策略设置为。但是它只固定在一个很小的范围内:我仍然可以稍微调整对话框的高度以使其稍微小一些。maximumSize178sizePolicyFixed

0 投票
1 回答
88 浏览

python - QGraphicsScene 忽略网格布局的延伸

我有一个小部件,它分为两个子小部件。一个显示图片,另一个提供编辑图片的选项。图片子控件的水平空间应该是编辑子控件的 5 倍。我在网格布局中指定了这个约束。但是,一旦我将 QGraphicsScene(和视图)添加到编辑子小部件,约束就会被忽略。

我尝试了几种尺寸策略,但它们都没有达到我想要的效果,但是我对使用这些策略并没有太多经验。

两个小部件的比例不是 5/6 和 1/6,而是共享相同的大小,这使得图片看起来很小,而编辑小部件太大。此外,一旦我删除了“group_blocks”小部件,编辑子小部件就会再次具有适当的大小。为简单起见,我因此排除了它包含的所有其他小部件。

0 投票
1 回答
40 浏览

python - 希望修复大小策略以及 scrollArea 在选项卡中的显示方式

所以我正在尝试使用 PyQt5 在选项卡内放置一个滚动区域。只是玩一个读取串行端口的系统。

我遇到的问题是,虽然我设置了 QVBoxLayout,但大小似乎并没有调整到我想要的大小。它似乎正在采用其最小尺寸而不是调整。

我尝试在提供的网站上查看有关 QSizePolicy 的文档,但不幸的是,它都被标记为 TODO。

https://www.riverbankcomputing.com/static/Docs/PyQt5/api/qtwidgets/qsizepolicy.html

我想知道是否有人有这方面的经验?

这是 GUI 现在的样子。 卷轴太小了! 它是绿色的。

这是 GUI 现在的样子。卷轴太小了!它是绿色的。

我正在寻找滚动区域以获取整个选项卡大小,然后在调整窗口大小时进行调整。将不胜感激任何指针。

谢谢!

0 投票
1 回答
425 浏览

c++ - 启用 wordWrap 的 QLabel 的垂直大小

我有QLabel一个QVBoxLayout。大多数时候,它只有一行文本,但有时,文本可能太长而无法容纳在一行中。所以我必须启用wordWrap.

我希望标签尽可能(垂直)小,因此我设置了setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Maximum).

现在,如果有足够的垂直空间,标签会更高,因为它必须只有一行:

启用 wordWrap 的标签

在相同的窗口大小且未启用 wordWrap 的情况下,标签仅占用我希望占用的最小空间:

没有 wordWrap 的标签

这也可以通过启用 wordWrap 并且独立于窗口高度来实现吗?

0 投票
1 回答
52 浏览

python - 标签文本自动拉伸到它的父 pyqt5

我正在尝试将标签中的文本拉伸到它的大小。

例如,如果我增加标签的高度,那么内部文本的大小应该只垂直增加。

如果我增加标签的宽度,那么内部文本的大小应该增加并且只能水平拉伸。

我怎样才能做到这一点?

0 投票
2 回答
928 浏览

python - QSizePolicy.Minimum 和 QSizePolicy.Preferred 有什么区别?

我读到“首选策略是非常灵活的策略,小部件的大小可以小于或大于 sizeHint()。”
但是当我增加或减少窗口的大小时,我找不到它们之间的任何差异。

< QSizePolicy.Minimum >

< QSizePolicy.Preferred >

0 投票
0 回答
24 浏览

qt - 在 QWidget 上设置最小大小会触发内容大小的调整

我试图弄清楚在设置 minimumSize 时为什么以及如何防止 QDockWidget 调整为内容。

我的 QDockWidget 里面有一些其他小部件,有时需要折叠它们,基本上使它们不可见。设置可见性有效,但缺点是所有快捷方式都被禁用,这是一个问题。现在我在折叠和重置大小时将固定大小设置为 0,在展开时设置最小和最大大小。首先,我试图仅重置大小和最大大小,但后来我注意到我无法再调整小部件的大小了。当我设置最小尺寸时,可以再次调整大小,但是小部件会根据内容调整大小,并且基本上会忽略折叠前存储的大小。

知道如何在不设置最小大小的情况下防止调整内容大小或恢复调整大小功能吗?