【发布时间】:2016-03-20 06:02:25
【问题描述】:
我在布局 PyQt 窗口时遇到问题。我正在使用一个带有一个大 QGLWidget 和它下面的许多较小控件组件的网格布局。子类化 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 的大小没有变化。它总是用产生的任意纵横比填充剩余空间。我必须添加/更改什么来解决此问题?
【问题讨论】:
标签: python qt opengl pyqt pyopengl