【问题标题】:PyQt4 GUI Box Layout Fixed WidthPyQt4 GUI 框布局固定宽度
【发布时间】:2016-12-25 16:20:35
【问题描述】:

有没有办法设置QHBoxLayout的固定宽度?

例如,当我有两个占用空间很小的小部件时,我不希望在全屏显示应用程序时这两个小部件在整个屏幕宽度上分开。小部件的宽度已设置为 minimumSizeHint() 宽度。

【问题讨论】:

    标签: python layout pyqt4 spacing


    【解决方案1】:

    只需在布局末尾添加一个可拉伸的空间即可:

        hbox_layout.addStretch()
    

    或者如果你想要右边的小部件:

        hbox_layout.insertStretch(0)
    

    【讨论】:

      【解决方案2】:

      承认:我不使用 PyQT,但我在 C++ 中使用 Qt。我相信它会起作用。

      这里的诀窍是,当你运行 QHBoxLayout::addWidget() 时,你定义一个拉伸因子(大于零)给你想要拉伸的小部件。您为想要保持较小的那些定义一个零拉伸因子(默认值)。

      您是否在较小的小部件上运行了 QWidget::setMaximumWidth() ?也许这也很有用。

      【讨论】:

      • 感谢您的回复,但这似乎对我不起作用。问题不在于小部件本身在屏幕上伸展,它们确实保持所需的大小。问题是其中一个在屏幕左侧,其中一个在右侧,当应用全屏时相距很远。我希望它们以某种方式彼此靠近,并且在窗口放大时不会分开太多。
      • 您可以使用拉伸因子来获得这种效果。听起来好像您可以在添加小部件时为所有小部件定义非零拉伸因子。您可能会定义 1,2,1 的拉伸因子。或者在中心小部件上设置最大宽度。
      猜你喜欢
      • 1970-01-01
      • 2012-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-09
      相关资源
      最近更新 更多