У меня проблема с оформлением окна PyQt. Я использую макет сетки с одним большим QGLWidget и множеством меньших элементов управления под ним. При наследовании QGLWidget я использую следующий код:PyQt QGLWidget не сохранит пропорции
class GLWidget(QtOpenGL.QGLWidget):
def __init__(self, parent=None):
self.parent = parent
QtOpenGL.QGLWidget.__init__(self, parent)
sizePol=QSizePolicy(QtGui.QSizePolicy.Preferred,QtGui.QSizePolicy.Preferred)
sizePol.setWidthForHeight(True)
self.setSizePolicy(sizePol)
def sizeHint(self):
return QSize(300,450)
def widthForHeight(self,height):
return int(height/1.5)
Я создаю lyout со следующим кодом:
class MainWidget(QtGui.QWidget):
def __init__(self, parent = None):
super(MainWidget, self).__init__(parent)
self.ogl_widget = GLWidget(self)
grid = QtGui.QGridLayout()
grid.setSizeConstraint(QtGui.QLayout.SetMinimumSize)
grid.addWidget(self.ogl_widget, 0,0,1,6)
#add other control components
<add LineEdits and Labels>
<their size policy is vertical: fixed, horizontal: expanding>
Однако, не существует каких-либо изменений в размере QGLWidget. Он всегда заполняет оставшееся пространство полученным произвольным соотношением сторон. Что мне нужно добавить/изменить, чтобы исправить эту проблему?