目录

-
- import sys
- from PyQt5.QtWidgets import QApplication, QMainWindow, QOpenGLWidget
-
- from OpenGL.GL import *
- from OpenGL.GLUT import *
- from OpenGL.GLU import *
-
- class OpenGLWidget(QOpenGLWidget):
- def __init__(self, parent=None):
- super(OpenGLWidget, self).__init__(parent)
-
- def initializeGL(self):
- glClearColor(0, 0, 0, 0)
- glEnable(GL_DEPTH_TEST)
- glutInit()
-
- def resizeGL(self, width, height):
- glViewport(0, 0, width, height)
- glMatrixMode(GL_PROJECTION)
- glLoadIdentity()
- gluPerspective(45, width / height, 1, 100)
- glMatrixMode(GL_MODELVIEW)
- glLoadIdentity()
-
- def paintGL(self):
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
- glLoadIdentity()
- glTranslatef(-1.5, 0.0, -6)
-
- # 使用GLUT渲染数字
- glColor3f(1.0, 1.0, 1.0) # 设置数字颜色
- glRasterPos2f(0, 0) # 设置数字位置
- for char in "123":
- glutBitmapCharacter(GLUT_BITMAP_TIMES_ROMAN_24, ord(char))
-
- class MainWindow(QMainWindow):
- def __init__(self, parent=None):
- super(MainWindow, self).__init__(parent)
- self.setCentralWidget(OpenGLWidget(self))
- self.setWindowTitle("PyQt OpenGL Example")
-
- if __name__ == '__main__':
- app = QApplication(sys.argv)
- window = MainWindow()
- window.show()
- sys.exit(app.exec_())