class mywindow(QtWidgets.QDialog): def __init__(self): super(mywindow, self).__init__() self.ui = Ui_Dialog() self.ui.setupUi(self)
def __init__(self): super().__init__() self.ui = Ui_Dialog() self.ui.setupUi(self) self.ui.pushButton_2.clicked.connect(self.btnClicked) self.ui.pushButton.clicked.connect(self.btnClicked_2) self.show()
class mainWindow(QDialog): def __init__(self): super().__init__() self.angle = 0 # utilisé pour tourner la camera self.ui = Ui_Dialog() self.ui.setupUi(self) self.openGLWidget = self.ui.openGLWidget # raccourci def setupUI(self): # initialisation de la vue et création du timer self.openGLWidget.initializeGL( ) # appelé au premier affichage uniquement self.openGLWidget.resizeGL(800, 600) self.openGLWidget.paintGL = self.paintGL # raccourci timer = QTimer(self) # Le timer timer.timeout.connect( self.openGLWidget.update) # appelle la fonction en argument #ici update appelle la fonction resizeGL et paintGL timer.start( 10) # lance le timer pour un temps de 10 ms entre chaque timeout def paintGL( self): # réécriture de la fonction de base pour afficher la scène # appelé a chaque 'update' lancé par le timer self.angle += 1 glClear(GL_COLOR_BUFFER_BIT) glClearColor( 0, 0, 0, 1 ) # définition de la couleur du font,le dernier nombre est l'alpha/la transparence c1 = Grid(5) vertices = c1.vertices edges = c1.edges glBegin(GL_LINES) # début de l'affichage des lignes # indique le type de formes à tracer (GL_LINES = des lignes). GL_QUADS permettrait de tracer des faces avec le code adapté for edge in edges: for vertex in edge: glVertex3fv(vertices[vertex]) glEnd() # fin de l'affichage des lignes """glBegin() et glEnd() ne sont pas très optimisées Il existe des manières plus efficace pour faire la même chose mais plus complexe chercher 'modern OpenGL' et 'VAO' ou 'VBO' """ glMatrixMode(GL_PROJECTION) # charge la matrice de projection """ on change ici les options de la projection sur l'écran """ glLoadIdentity() # charge une matrice identité gluPerspective( 45.0, 4.0 / 3.0, 1, 40 ) # fov , ratio , distance de vue proche, distance de vue de loin glMatrixMode(GL_MODELVIEW) # charge la matrice de caméra """ on change ici la position de la caméra """ glLoadIdentity() # charge une matrice identité gluLookAt(0, 2, -5, 0, 0, 0, 0, 1, 0)
class AppWindow(QDialog): def __init__(self): super().__init__() self.ui = Ui_Dialog() self.ui.setupUi(self) self.ui.pushButton_2.clicked.connect(self.btnClicked) self.ui.pushButton.clicked.connect(self.btnClicked_2) self.show() def btnClicked(self): if (float(self.ui.lineEdit_3.text()) > float(self.ui.lineEdit_5.text())): self.ui.lineEdit_3.setText('x0 должно быть меньше xmax') self.ui.lineEdit_5.setText('x0 должно быть меньше xmax') else: self.exp = parseEquation(self.ui.lineEdit.text()) self.y = float(self.ui.lineEdit_2.text()) self.x = float(self.ui.lineEdit_3.text()) self.h = float(self.ui.lineEdit_4.text()) self.xmax = float(self.ui.lineEdit_5.text()) self.ans = RungeKutta(self.xmax, self.exp, self.x, self.y, self.h) self.track = self.h self.f = open('output.txt', 'w') for i in self.ans: self.ui.textEdit.append("y{:.2f} = {:.5f}".format(self.track, i)) self.f.write("y{:.2f} = {:.5f}".format(self.track, i) + "\n") self.track += self.h def btnClicked_2(self): with open ("data.txt", "r") as myfile: self.data = myfile.readlines() self.ui.lineEdit.setText(self.data[0]) self.ui.lineEdit_2.setText(self.data[1]) self.ui.lineEdit_3.setText(self.data[2]) self.ui.lineEdit_4.setText(self.data[3]) self.ui.lineEdit_5.setText(self.data[4])
def __init__(self): super(mywindow, self).__init__() self.ui = Ui_Dialog() self.ui.setupUi(self)
class mywindow(QtWidgets.QWidget): def __init__(self): super(mywindow, self).__init__() self.new = Ui_Dialog() self.new.setupUi(self)
def __init__(self): super().__init__() self.angle = 0 # utilisé pour tourner la camera self.ui = Ui_Dialog() self.ui.setupUi(self) self.openGLWidget = self.ui.openGLWidget # raccourci
def __init__(self): super().__init__() self.ui = Ui_Dialog() self.ui.setupUi(self) self.show()
class AppWindow(QDialog): def __init__(self): super().__init__() self.ui = Ui_Dialog() self.ui.setupUi(self) self.show()