Esempio n. 1
0
class mywindow(QtWidgets.QDialog):
    def __init__(self):
        super(mywindow, self).__init__()

        self.ui = Ui_Dialog()

        self.ui.setupUi(self)
Esempio n. 2
0
    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()
Esempio n. 3
0
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)
Esempio n. 4
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])
Esempio n. 5
0
    def __init__(self):
        super(mywindow, self).__init__()

        self.ui = Ui_Dialog()

        self.ui.setupUi(self)
Esempio n. 6
0
class mywindow(QtWidgets.QWidget):
    def __init__(self):
        super(mywindow, self).__init__()
        self.new = Ui_Dialog()
        self.new.setupUi(self)
Esempio n. 7
0
 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
Esempio n. 8
0
 def __init__(self):
     super().__init__()
     self.ui = Ui_Dialog()
     self.ui.setupUi(self)
     self.show()
Esempio n. 9
0
class AppWindow(QDialog):
    def __init__(self):
        super().__init__()
        self.ui = Ui_Dialog()
        self.ui.setupUi(self)
        self.show()