如何删除QLabel和QLineEdit之间的空格

时间:2016-04-06 17:54:56

标签: qt pyqt pyside

我有一个像这样的QDialog窗口,我想删除'Length','n','m'和相应的QLineEdit输入框之间的空格。我怎样才能做到这一点?

demo

3 个答案:

答案 0 :(得分:1)

如果您使用gridlayout,我不确定为什么您的输出看起来像那样。一般来说Qt不会留下那么大的空白空间,我可以想到三种可能性:

  1. 长度后有很多空格:,M:或N:
  2. 您的网格管理器中的layoutHorizo​​ntalSpacing太大。
  3. layoutColumnStretch设置为支持网格管理器中的标签,应该是" 0,0",而不是" 1,0"。我的意思是,标签的拉伸不应高于lineedit。
  4. 不过,我会在你的应用程序中使用一个简单的表单布局。

答案 1 :(得分:0)

您需要做的就是重置标签的alignment

    label.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlighVCenter)

这也可以通过Qt Designer中的属性编辑器完成。

答案 2 :(得分:0)

您必须决定如何处理要删除的空间:

  • 缩小整个小部件:它取决于周围的布局,在其右侧或左侧添加水平布局会将空间从小部件中移出。
  • 标签左侧的空格:您可以将标签文字对齐为 ekhumoro 建议,或直接缩小并对齐整个画面的右侧在左侧添加一个水平间隔(在周围的布局中)。
  • 行编辑右侧的空格:如上所示,您可以添加水平间隔符或缩小和对齐框架。
  • 展开行修改:删除固定宽度(默认水平政策正在扩展)或设置更大的宽度。

重点是:空间必须在某处,除非您减少父窗口小部件或放大一些内部窗口小部件。大小策略对于告诉哪个小部件应该占用可用空间很有用,间隔符对于在小部件之间留出空白空间非常有用。