【问题标题】:space between menu and QtOpenGL.QGLWidget菜单和 QtOpenGL.QGLWidget 之间的空间
【发布时间】:2014-11-26 03:24:17
【问题描述】:

谁能告诉我下面的简单源代码有什么问题。在下图中,您可以看到我的问题。我想要一个由菜单和 QGLWidget 组成的小部件,但 QGLWidget 覆盖了菜单。如果我使用 QtGui.QWidget 代替它工作正常。如何增加这些元素之间的间距?

图1:

QGLWidget 代码:

class Profile(QtOpenGL.QGLWidget):
    def __init__(self, parent = None):
        super(Profile, self).__init__(parent)

    def initializeGL(self):
        GL.glClearColor(1.0, 1.0 , 1.0, 1.0)

    def paintGL(self):
        GL.glMatrixMode(GL.GL_MODELVIEW)
        GL.glLoadIdentity()
        GL.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT)

工作正常的测试小部件代码:

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

        editor = QtGui.QTextEdit()
        grid   = QtGui.QGridLayout()
        grid.addWidget(editor, 1,1)

        self.setLayout(grid) 

主部件代码:

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

        self.ogl_widget = Profile()
        # self.ogl_widget = TestWidget() 

        grid = QtGui.QGridLayout()
        grid.addWidget(self.ogl_widget, 2,1)

        self.createActions()
        self.createMenus()

        self.setLayout(grid) 
        self.resize(420,320)

    def createActions(self):
        self.openAct = QtGui.QAction('Open...', self)

    def createMenus(self):
        fileMenu = QtGui.QMenu("File", self)
        fileMenu.addAction(self.openAct)

        menubar = QtGui.QMenuBar(self)
        menubar.addMenu(fileMenu)

if __name__ == '__main__':
    app = QtGui.QApplication(["PyQt OpenGL"])
    widget = ProfileDetectWidget()
    widget.show()
    app.exec_() 

【问题讨论】:

    标签: python qt pyopengl


    【解决方案1】:

    在我更改的主小部件的代码中

    grid = QtGui.QGridLayout()
    grid.addWidget(self.ogl_widget, 2,1)
    

    space = QtGui.QSpacerItem(0,15)
    grid = QtGui.QGridLayout()
    grid.addItem(space)
    grid.addWidget(self.ogl_widget, 2,1)
    

    它似乎有效。

    【讨论】:

      猜你喜欢
      • 2013-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-23
      • 2016-07-23
      相关资源
      最近更新 更多