设置QGroupbox的大小?

2024-10-01 15:43:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我是新人,我从新的简单GUI应用程序开始,我跟随一些互联网上的教程,现在我在QGroupbox(Pysde)上遇到了问题。 这是我的代码:

import sys
from PySide.QtCore import *
from PySide.QtGui import *
from PySide import QtGui,QtCore

class Form(QtGui.QWidget):

    def __init__(self,parent=None):
        super(Form,self).__init__(parent)

        self.initUi()

    def initUi(self):
        self.setGeometry(300, 300, 800, 600)
        self.setWindowTitle('Library')
        self.setMinimumHeight(600)
        self.setMinimumWidth(800)
        self.setMaximumHeight(600)
        self.setMaximumWidth(1100)

        #Groupbox Show Only
        gpShowonly = QtGui.QGroupBox("Show only :")
        gpShowonly.setGeometry(100,100,200,200)
        chbx1 = QtGui.QCheckBox("x1")
        chbx2 = QtGui.QCheckBox("x2")
        chbx3 = QtGui.QCheckBox("x3")

        serverlayout = QtGui.QHBoxLayout()

        serverlayout.addWidget(chbx1)
        serverlayout.addWidget(chbx2)
        serverlayout.addWidget(chbx3)

        configLayout = QtGui.QVBoxLayout()

        configLayout.addLayout((serverlayout))
        gpShowonly.setLayout(configLayout)

        mainLayout = QtGui.QVBoxLayout()
        mainLayout.addWidget(gpShowonly)
        mainLayout.addStretch(1)


        self.setLayout(mainLayout)
        self.show()

app = QApplication.instance()
if app is None:
    app = QApplication(sys.argv)
form = Form()
form.show()
app.exec_()

我希望它更小,但它总是完全水平的,我使用setGeometry,调整大小,但什么都没有发生。在


Tags: fromimportselfformappsyspysideqtgui
1条回答
网友
1楼 · 发布于 2024-10-01 15:43:38

布局中的小部件将展开以填充可用空间。要防止这种情况发生,只需在布局的末尾添加一个可扩展的间隔:

    serverlayout = QtGui.QHBoxLayout()
    serverlayout.addWidget(chbx1)
    serverlayout.addWidget(chbx2)
    serverlayout.addWidget(chbx3)
    serverlayout.addStretch()

如果这使小部件太小,您可以给它们一个最小宽度:

^{pr2}$

相关问题 更多 >

    热门问题