Я пытаюсь создать форму приложения PySide, и я следую некоторому учебнику, но у меня есть проблема, которая представляет собой пробел между QLabel и QCombobox.Удалить пространство между Combobox и label (QGridlayout)
Это мой код
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_()
и это моя форма:
Я не знаю, как удалить пространство между QLabel "Файл" и QComboBox "Файл 1"
Они находятся в двух отдельных столбцах (натянутых на 'lvFolders'), имеющих равную ширину. Если вы хотите уменьшить пространство, которое вы могли бы, например, right-align 'File:'. – jonrsharpe
Или поместите их оба в QHBoxLayout и добавьте этот макет в ячейку, в которой находится QLabel. –
На самом деле вы, похоже, не создали жесткую сетку, поэтому вам, вероятно, потребуется более легкое время, если вы использовали вложенные QHBoxLayouts, возможно, внутри QVBoxLayout вместо QGridLayout. – hyde