gpt4 book ai didi

python - 菜单和 QtOpenGL.QGLWidget 之间的空间

转载 作者:太空宇宙 更新时间:2023-11-03 18:10:08 25 4
gpt4 key购买 nike

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

图1:

enter image description here

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_()

最佳答案

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

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)

而且它似乎有效。

关于python - 菜单和 QtOpenGL.QGLWidget 之间的空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26138794/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com