删除组合框和标签之间的空格(QGridlayout)

2024-10-04 11:30:38 发布

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

我试图用PySide创建一个应用程序表单,我遵循了一些教程,但是我有一个问题,那就是QLabel和QCombobox之间有一个空格。在

这是我的密码

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

class Window(QtGui.QWidget):
    def __init__(self, parent=None):
        super(Window, self).__init__(parent)

        self.setMinimumHeight(660)
        self.setMinimumWidth(700)
        self.setMaximumHeight(660)
        self.setMaximumWidth(900)

        grid = QtGui.QGridLayout()
        grid.addWidget(self.First(), 0,0,2,0)

        self.setLayout(grid)

        self.setWindowTitle("Library")
        self.resize(700, 660)

    def First(self):
        groupBox = QtGui.QFrame()
        groupBox.setMaximumWidth(230)
        groupBox.setMaximumHeight(700)

        lbFile = QtGui.QLabel("File :",self)
        lbFolders = QtGui.QLabel("Folders :",self)

        cbFile = QtGui.QComboBox(self)
        cbFile.addItem("File 1")
        cbFile.addItem("File 2")

        lvFolders = QtGui.QListView(self)
        lvFolders.setMaximumWidth(220)
        lvFolders.setMaximumHeight(500)

        vbox = QtGui.QGridLayout()
        vbox.addWidget(lbFile,0,0)
        vbox.addWidget(cbFile,0,1)
        vbox.addWidget(lbFolders,2,0)
        vbox.addWidget(lvFolders,3,0,1,2)
        groupBox.setLayout(vbox)
        return groupBox


app = QApplication.instance()
if app is None:
    app = QApplication(sys.argv)
    clock = Window()
    clock.show()
app.exec_()

这是我的表格:

enter image description here

我不知道如何删除QLabel“File”和QCombobox“file1”之间的空格


Tags: fromimportselfappwindowfilepysideqtgui
1条回答
网友
1楼 · 发布于 2024-10-04 11:30:38

调整布局第二列的拉伸因子,并可能使folders标签跨越两列:

    vbox = QtGui.QGridLayout()
    vbox.addWidget(lbFile,0,0)
    vbox.addWidget(cbFile,0,1)
    vbox.addWidget(lbFolders,2,0,1,2)
    vbox.addWidget(lvFolders,3,0,1,2)
    vbox.setColumnStretch(1, 1)

相关问题 更多 >