如何删除QLabel和QLineEdit之间的space
How to delete the space between QLabel and QLineEdit
我有一个这样的QDialog window,我想删除'Length'、'n'、'm'和相应的QLineEdit输入框之间的space .我怎样才能做到这一点?
如果您使用网格布局,我不确定为什么您的输出看起来像那样。一般Qt不会留下huge empty space那样的,我能想到的有3种可能:
- 您在 Length:、M: 或 N:
后有多个 SPACE
- 您的网格管理器中的 layoutHorizontalSpacing 太大。
- layoutColumnStretch 设置为支持网格管理器中的标签,应为“0,0”,而不是“1,0”。我的意思是,Label 的拉伸不应高于 lineedit。
不过,我会在您的应用程序中使用简单的表单布局。
您需要做的就是重置标签的 alignment:
label.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlighVCenter)
这也可以通过 Qt Designer 中的 属性 编辑器完成。
您必须决定如何处理要删除的 space:
- 缩小整个小部件:这取决于周围的布局,在它的右侧或左侧添加水平布局将使 space 超出您的小部件。
- Space 在标签左侧 :您可以按照 ekhumoro 的建议将标签文本向右对齐,或通过在其左侧(在周围布局中)添加水平 spacer 直接缩小并向右对齐整个框架。
- Space 在您的行编辑右侧 :像上面一样,您可以添加水平 spacers 或缩小和对齐框架。
- Expand the line-edits : 移除它们的固定宽度(默认水平策略是展开)或设置一个更大的宽度。
要点是:space 必须在某个地方,除非您缩小父窗口小部件或放大一些内部窗口小部件。大小策略有助于判断哪个小部件应该占用可用 space,spacers 有助于让小部件之间留空 space。
我有一个这样的QDialog window,我想删除'Length'、'n'、'm'和相应的QLineEdit输入框之间的space .我怎样才能做到这一点?
如果您使用网格布局,我不确定为什么您的输出看起来像那样。一般Qt不会留下huge empty space那样的,我能想到的有3种可能:
- 您在 Length:、M: 或 N: 后有多个 SPACE
- 您的网格管理器中的 layoutHorizontalSpacing 太大。
- layoutColumnStretch 设置为支持网格管理器中的标签,应为“0,0”,而不是“1,0”。我的意思是,Label 的拉伸不应高于 lineedit。
不过,我会在您的应用程序中使用简单的表单布局。
您需要做的就是重置标签的 alignment:
label.setAlignment(QtCore.Qt.AlignRight | QtCore.Qt.AlighVCenter)
这也可以通过 Qt Designer 中的 属性 编辑器完成。
您必须决定如何处理要删除的 space:
- 缩小整个小部件:这取决于周围的布局,在它的右侧或左侧添加水平布局将使 space 超出您的小部件。
- Space 在标签左侧 :您可以按照 ekhumoro 的建议将标签文本向右对齐,或通过在其左侧(在周围布局中)添加水平 spacer 直接缩小并向右对齐整个框架。
- Space 在您的行编辑右侧 :像上面一样,您可以添加水平 spacers 或缩小和对齐框架。
- Expand the line-edits : 移除它们的固定宽度(默认水平策略是展开)或设置一个更大的宽度。
要点是:space 必须在某个地方,除非您缩小父窗口小部件或放大一些内部窗口小部件。大小策略有助于判断哪个小部件应该占用可用 space,spacers 有助于让小部件之间留空 space。