首页 > 解决方案 > PyQt5进度条填满整个QGroupBox?

问题描述

我试图让进度条填充 QGroupBox 的整个宽度。

到目前为止,它看起来像:

进步

我正试图让它一直越过。这是代码:

def progress(self):
    gBox = QGroupBox('Progress')
    progress_bar = QProgressBar(gBox)
    progress_bar.setRange(0, 1)
    # progress_bar.setGeometry(30, 40, 200, 25)

    hbox = QHBoxLayout()
    hbox.addWidget(progress_bar)
    hbox.addStretch(1)
    gBox.setLayout(hbox)
    return gBox

我是否需要拉伸 QGroupBox 或 QHBoxLayout?

标签: pythonpyqt5

解决方案


根据文档

无效 QBoxLayout::addStretch(int 拉伸 = 0)

将最小尺寸为零且拉伸因子拉伸的可拉伸空间(QSpacerItem)添加到此框布局的末尾。

也就是说,添加了一个分隔符,该分隔符添加到末尾,因此它推动小部件采取sizeHint()压缩它的大小。

在您的情况下,您不需要它,因此请将其删除。

def progress(self):
    gBox = QGroupBox('Progress')
    progress_bar = QProgressBar(gBox)
    progress_bar.setRange(0, 1)

    hbox = QHBoxLayout()
    hbox.addWidget(progress_bar)
    gBox.setLayout(hbox)
    return gBox

推荐阅读