Exemple #1
0
 def lataaja(self, tiedosto):
     '''Hoitaa muuttujien lataamisen annetusta tiedostosta'''
     lataus = False 
     try:
         '''Yrittää avata annetun tiedoston. Ilmoittaa jos tulee virhe'''
         file = open(tiedosto, "r")
         rivi = file.readline()
         rivi = rivi.strip()
         if rivi != "Lujuusanalysaattori":
             '''Kerrotaan käyttäjälle, että tiedosto oli virheellinen''' 
             msgBox = QMessageBox()
             msgBox.setText("Tiedoston lukeminen ei onnistu: Virheellinen tiedosto")
             msgBox.setWindowTitle("Virhe")
             msgBox.setMinimumWidth(50)
             msgBox.addButton(QPushButton('OK'), QMessageBox.NoRole)
             msgBox.exec_() 
             return lataus
     except FileNotFoundError:
         return lataus
     
     try:
         '''Ohitetaan päivämäärä'''
         rivi = file.readline()
         '''Luetaan arvot ja tallennetaan ne ominaisuudet luokan avulla'''
         '''Palkin pituus'''
         rivi = file.readline()
         Ominaisuudet.palkin_pituus(self, int(rivi))
         
         '''Palkin pituuden yksikko'''
         rivi = file.readline()
         Ominaisuudet.yksikko(self, int(rivi))
         
         '''Voiman suuruus'''
         rivi = file.readline()
         Ominaisuudet.voima(self, int(rivi)) 
         
         '''Voiman yksikkö'''
         rivi = file.readline()
         Ominaisuudet.yksikko_voima(self, int(rivi)) 
         
         '''Materiaali'''
         rivi = file.readline()
         Ominaisuudet.materiaali(self, int(rivi)) 
         
         '''Tuen tyyppi'''
         rivi = int(file.readline())
         Ominaisuudet.tuki(self, rivi)
         
         '''Onko ulkoinen voima asetettu 0=ei, 1=kyllä'''
         rivi = file.readline()
         Ominaisuudet.ulkoinen_voima(self, int(rivi)) 
         
         return True 
     
     except AttributeError:
         pass     
    def piilota_ulkoinen_voima(self):
        '''Piilotaa kaiken ulkoiseen voimaan liittyvän'''
        self.sp_voima.hide()
        self.yksikko_voima.hide()
        self.ulkoinen_voima.hide()
        self.lisaa_ulkoinen_voima.show()
        self.lisaa_ulkoinen_voima.setEnabled(True)
        self.viiva.hide()
        self.nuoli_3.hide()
        self.viiva_5.hide()
        self.nuoli_6.hide()
        self.poista_ulkoinen_voima.hide()
        self.lisaa_ulkoinen_voima.show()
        self.tulos.hide()

        Ominaisuudet.ulkoinen_voima(self, 0)
    def nayta_ulkoinen_voima(self):
        '''Näytetään ulkoinen voima riippuen tuen tyypistä'''
        self.sp_voima.show()
        self.yksikko_voima.show()
        self.ulkoinen_voima.show()
        self.lisaa_ulkoinen_voima.hide()
        self.poista_ulkoinen_voima.show()

        if int(Ominaisuudet.palauta_tuen_tyyppi(self)) == 0:
            self.viiva.show()
            self.nuoli_3.show()

        if int(Ominaisuudet.palauta_tuen_tyyppi(self)) == 1:
            self.viiva_5.show()
            self.nuoli_6.show()

        Ominaisuudet.ulkoinen_voima(self, 1)
    def ulkoinen_voima_nuoli_alatuki(self):
        '''Nuolen kärkien koordinaatit alhaalta tuetulle palkille'''
        nuoli_piste_1 = QtCore.QPointF(self.palkin_keskipiste - 7, 185)
        nuoli_piste_2 = QtCore.QPointF(self.palkin_keskipiste, 200)
        nuoli_piste_3 = QtCore.QPointF(self.palkin_keskipiste + 7, 185)
        viiva_x = self.palkin_keskipiste
        '''Luodaan nuoli QPolygonItem olio'''
        self.nuoli_6 = QGraphicsPolygonItem(
            QtGui.QPolygonF([nuoli_piste_1, nuoli_piste_2, nuoli_piste_3]))
        self.nuoli_brush = QtGui.QBrush(1)
        self.nuoli_pencil = QtGui.QPen(QtCore.Qt.black, 2)
        self.nuoli_pencil.setStyle(QtCore.Qt.SolidLine)

        self.viiva_5 = QGraphicsLineItem(
            QtCore.QLineF(viiva_x, 100, viiva_x, 200))
        '''Lisätään viiva sekä päiden nuolet sceneen'''
        self.scene.addItem(self.viiva_5)
        self.scene.addItem(self.nuoli_6)
        self.viiva_5.hide()
        self.nuoli_6.hide()
        '''Lisätään tieto, että voima on asetettu'''
        Ominaisuudet.ulkoinen_voima(self, 1)
 def ulkoinen_voima_nuoli_seinatuki(self):
     '''Luo nuolen osoittamaan ulkoisen voiman paikkaa'''
     voima_viiva = QtGui.QPen(QtCore.Qt.black, 2)
     voima_viiva.setStyle(QtCore.Qt.SolidLine)
     '''Nuolen kärkien koordinaatit seinätuelle'''
     nuoli_piste_1 = QtCore.QPointF(self.palkin_paatypiste - 7, 185)
     nuoli_piste_2 = QtCore.QPointF(self.palkin_paatypiste, 200)
     nuoli_piste_3 = QtCore.QPointF(self.palkin_paatypiste + 7, 185)
     viiva_x = self.palkin_paatypiste
     self.viiva = QGraphicsLineItem(
         QtCore.QLineF(viiva_x, 100, viiva_x, 200))
     '''Luodaan nuoli QPolygonItem olio'''
     self.nuoli_3 = QGraphicsPolygonItem(
         QtGui.QPolygonF([nuoli_piste_1, nuoli_piste_2, nuoli_piste_3]))
     self.nuoli_brush = QtGui.QBrush(1)
     self.nuoli_pencil = QtGui.QPen(QtCore.Qt.black, 2)
     self.nuoli_pencil.setStyle(QtCore.Qt.SolidLine)
     '''Lisätään viiva sekä päiden nuolet sceneen'''
     self.scene.addItem(self.viiva)
     self.scene.addItem(self.nuoli_3)
     self.viiva.hide()
     self.nuoli_3.hide()
     '''Lisätään tieto, että voima on asetettu'''
     Ominaisuudet.ulkoinen_voima(self, 1)