gpt4 book ai didi

python - QPushButton 内的 PyQt QHBoxLayout 文本被截断

转载 作者:太空宇宙 更新时间:2023-11-03 17:37:52 24 4
gpt4 key购买 nike

我试图在按钮内放置一个复选框和一些文本,但我无法让按钮展开足够宽以查看全文。

enter image description here

self.check = QtGui.QCheckBox("long text", self)
self.checkLayout = QtGui.QHBoxLayout()
self.checkLayout.addWidget(self.check)
self.checkButton = QtGui.QPushButton(None, self)
self.checkButton.setLayout(self.checkLayout)

我尝试过添加拉伸(stretch)、设置尺寸策略、设置边距和样式等的各种组合,但到目前为止还没有任何运气。

谢谢

最佳答案

向按钮添加布局。将复选框放置在布局内。看起来这是 QWidget 自动跟踪其子窗口小部件大小的唯一方法。但 QWidget 不会自动调整自身大小以适应其内容。您必须调用 adjustSize 函数才能执行此操作。

class TestWidget(QtGui.QWidget):
def __init__(self, *args):
QtGui.QWidget.__init__(self, *args)

self.check = QtGui.QCheckBox("very very long text")

self.checkLayout = QtGui.QHBoxLayout()
self.checkLayout.addWidget(self.check)

self.checkButton = QtGui.QPushButton()
self.checkButton.setLayout(self.checkLayout)
self.checkButton.adjustSize()

self.checkButton.setParent(self)

UPD:adjustSize 有问题。如果我checkButton 添加到屏幕后调用该函数,则此函数对我不起作用:

# works
self.checkButton.adjustSize()
self.checkButton.setParent(self)
# doesn't work
self.checkButton.setParent(self)
self.checkButton.adjustSize()

我的解决方案是手动调整大小,而不是调用adjustSize:

self.checkButton.setFixedSize(self.checkLayout.sizeHint())

关于python - QPushButton 内的 PyQt QHBoxLayout 文本被截断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30962274/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com