python - 如何不在 QHBoxLayout 中分隔小部件

标签 python pyqt

使用时:

layout = QtGui.QHBoxLayout()
layout.addWidget(QtGui.QPushButton())
layout.addWidget(QtGui.QPushButton())
layout.addWidget(QtGui.QPushButton())

按钮在 QHBoxLayout 的宽度内自动间隔开。 相反,我希望按钮彼此相邻放置。 我试过使用:

    layout.setContentsMargins(0, 0, 0, 0)
    layout.importLayout.setSpacing(0) 

但它对按钮间距没有影响。需要设置 QHBoxLayout 的哪个属性来覆盖自动间距?

最佳答案

您的方法已经是正确的。布局上没有内容边距以及布局上没有间距会使按钮非常靠近,间距约为 2 像素。样式表设置的负边距可以使按钮进一步靠在一起,但我不推荐它,因为它看起来不太好。

from PySide import QtGui

app = QtGui.QApplication([])
window = QtGui.QWidget()
window.setStyleSheet('QPushButton{margin-left:-1px;}') # remove this line if you want to have a tiny bit of spacing left

layout = QtGui.QHBoxLayout(window)
layout.setContentsMargins(0, 0, 0, 0)
layout.setSpacing(0)
layout.addWidget(QtGui.QPushButton('Button'))
layout.addWidget(QtGui.QPushButton('Button'))
layout.addWidget(QtGui.QPushButton('Button'))
layout.addWidget(QtGui.QPushButton('Button'))
layout.addWidget(QtGui.QPushButton('Button'))
layout.addWidget(QtGui.QPushButton('Button'))

window.show()

app.exec_()

关于python - 如何不在 QHBoxLayout 中分隔小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24708694/

相关文章:

python - 当我尝试运行 Flask 应用程序时,为什么 apache 不加载我的 .so 库?

python - 如何在管理员中设置 django upload_handler?

Python json.load JSONDecodeError : Extra data error when trying load multiple json dictionaries

python - findChild 在 pyqt 设计器中创建的对象上

linux - 定义相同函数名称的两个 linux 共享对象之间的冲突

python - 给定 1/4/2014 时如何在 python 3.0 中从 mm/dd/yyyy 格式转换为 yyyy-mm-dd

python - 机器人框架 Selenium2Library 中的无缓存刷新

python - 创建自定义时间选择器小部件

python - 如何在pyqt中正确保存和恢复复选框

python - PyQt 在 for 循环内部连接与单独调用会导致不同的行为