【问题标题】:How in PyQt remove extra space between two qlabels in layout?PyQt 如何在布局中删除两个 qlabels 之间的额外空间?
【发布时间】:2017-09-05 14:08:41
【问题描述】:

我有一个QHBoxLayout 和两个标签。一个是图片,另一个是文字。如何让他们彼此靠近?

以下是示例:

代码:

from PyQt4 import QtGui, QtCore
import sys

app = QtGui.QApplication(sys.argv)

window = QtGui.QWidget()


vlay = QtGui.QVBoxLayout()
hlay = QtGui.QHBoxLayout()

vlay.addLayout(hlay)
window.setLayout(vlay)

label_pic = QtGui.QLabel()
image = QtGui.QPixmap()
image.load('123.jpg')
label_pic.setPixmap(image)

hlay.addWidget(label_pic)

label_text = QtGui.QLabel('Any text')
hlay.addWidget(label_text)

window.show()
sys.exit(app.exec_())

One more picture

【问题讨论】:

  • 正确的修复最终将取决于您的代码。请更新您的帖子以包含minimal reproducible example
  • 我已经更新了我的问题

标签: qt layout pyqt label


【解决方案1】:

从图片中并不清楚QLabel 在哪里结束,另一个在哪里开始,但是...我认为您有几个明显的选择。

首先,您可以在最右边添加一个拉伸QLabel...

hlay.addWidget(label_text, 1) # Note the `1' stretch factor.

或者,其次,您可以显式添加拉伸项目...

hlay.addWidget(label_text)
hlay.addStretch(1)

【讨论】:

    猜你喜欢
    • 2020-05-28
    • 2014-05-06
    • 2019-08-09
    • 2020-10-16
    • 1970-01-01
    • 1970-01-01
    • 2016-02-08
    • 2021-11-20
    • 1970-01-01
    相关资源
    最近更新 更多