def __init__(self): #self.r QtGui.QMainWindow.__init__(self) self.setupUi(self) #self.connect(self.btnNeueSprache, QtCore.SIGNAL("clicked()"), self.neue_sprache) self.btnNeueSprache.clicked.connect(self.neue_sprache) self.connect(self.btnNeuesBuch, QtCore.SIGNAL("clicked()"), self.neues_buch) self.connect(self.btnNeueLektion, QtCore.SIGNAL("clicked()"), self.neue_lektion) self.connect(self.btnWoerterbuch, QtCore.SIGNAL("clicked()"), self.woerterbuch) self.connect(self.btnNeueVok, QtCore.SIGNAL("clicked()"), self.neue_vokabel) self.connect(self.btnAbfrageStarten, QtCore.SIGNAL("clicked()"), self.abfrage_einstellungen) self.connect(self.btnSpracheBeareiten, QtCore.SIGNAL("clicked()"), self.sprache_aendern) self.connect(self.btnBuecherBearbeiten, QtCore.SIGNAL("clicked()"), self.buch_aendern) self.connect(self.btnLektionbearbeiten, QtCore.SIGNAL("clicked()"), self.lektioen_aendern) self.connect(self.btnStatistik, QtCore.SIGNAL("clicked()"), self.statistik_oeffnen) self.connect(self.btnFortsetzen, QtCore.SIGNAL("clicked()"), self.AbfrageFortsetzen) self.connect(self.btnZuruecksetzen, QtCore.SIGNAL("clicked()"), self.databaseReseet) self.connect(self.pbSonderlektion, QtCore.SIGNAL("clicked()"), self.woerterbuechSonderlektion) self.connect(self.pBEditGrammarHints, QtCore.SIGNAL("clicked()"), self.grammar_edit) self.infothread = InfoThreadMainWindow(self) self.actionMindestuebereinstimmung.triggered.connect(self.MinFit) self.actionSchliessen.triggered.connect(self.closeProgram) self.datenbank = Datenbank.base("VokabelDatenbank.sqlite") # Fehlerbekaempfung in Sonderlektion statement = "update vokabeln set status=0 where status > 6" self.datenbank.setData(statement) # add datacol for variabletime in query try: statement = "select warteZeitRichtig from Einstellungen" self.datenbank.getDataAsList(statement) except: statement = "ALTER TABLE Einstellungen ADD COLUMN warteZeitRichtig INTEGER;" self.datenbank.setData(statement) statement = "update Einstellungen set warteZeitRichtig=1000 where id like 1" self.datenbank.setData(statement) print("Datenbank aktualisiert") try: statement = "select richtig from vokabeln" self.datenbank.getDataAsList(statement) except: print("kann richtig nicht aus Vokabeln lesen, weil nicht verfügbar") print("spalte richtig wird erstellt") tableUpdateStatement = "ALTER TABLE Vokabeln ADD COLUMN richtig INTEGER DEFAULT 0;" self.datenbank.setData(tableUpdateStatement) print("Datenbank aktualisiert") print("spalte falsch wird erstellt") tableUpdateStatement = "ALTER TABLE Vokabeln ADD COLUMN falsch INTEGER DEFAULT 0" self.datenbank.setData(tableUpdateStatement) print("Datenbank aktualisiert") print("spalte zuletztRichtig wird erstellt") tableUpdateStatement = "ALTER TABLE Vokabeln ADD COLUMN zuletztRichtig INTEGER;" self.datenbank.setData(tableUpdateStatement) print("Datenbank aktualisiert") #set initvalues tableUpdateStatement = "update vokabeln set richtig=3, falsch=0, zuletztRichtig=1" self.datenbank.setData(tableUpdateStatement) print("Datenbank aktualisiert") try: statement = "select * from formhinweise" self.datenbank.getDataAsList(statement) except: #create table statement = "CREATE TABLE formhinweise (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL , idSprache INTEGER, hint TEXT);" self.datenbank.setData(statement) updateStatement = "ALTER TABLE vokabeln ADD COLUMN idHint INTEGER;" self.datenbank.setData(updateStatement) try: statement = "select zuletztabgefragt from lektionen" self.datenbank.getDataAsList(statement) except: updateStatement = "ALTER TABLE LEKTIONEN ADD COLUMN zuletztAbgefragt DATETIME" self.datenbank.setData(updateStatement) try: statement = "select count(*) from vokabeln where richtig is NULL" data = self.datenbank.getDataAsList(statement) if data[0][0] > 0: statement = "update Vokabeln set richtig=0 where richtig is null" self.datenbank.setData(statement) statement = "select count(*) from vokabeln where falsch is NULL" data = self.datenbank.getDataAsList(statement) if data[0][0] > 0: statement = "update Vokabeln set falsch=0 where falsch is null" self.datenbank.setData(statement) except: print("Datenbankaenderung fehlgeschagen! Defaultwerte fuer richig und falsch aus vokabeln sollten" " auf 0 gesetzt werden") self.wStatistik = None self.wLektionAendern = None self.wAbfrageForsetzen = None self.wVorsichtigSein = None self.wBuch_aendern = None self.wSprache_aendern = None self.wAbfrage_einstellungen = None self.wNeue_vokabel = None self.wNeues_buch = None self.wNeue_sprache = None self.wNeue_lektion = None self.wWoerterbuch = None self.wMinFit = None self.wWoerterbuchSonder = None self.wGrammarHints = None if os.stat('zwischenSpeicher.fs').st_size == 0: self.FortsetzenDisable() else: self.FortsetzenEnable() self.datenbank = Datenbank.base("VokabelDatenbank.sqlite") self.setInfoInvisible()
class Programm(MainWindow, QtGui.QMainWindow): """MainKlasse""" def __init__(self): #self.r QtGui.QMainWindow.__init__(self) self.setupUi(self) #self.connect(self.btnNeueSprache, QtCore.SIGNAL("clicked()"), self.neue_sprache) self.btnNeueSprache.clicked.connect(self.neue_sprache) self.connect(self.btnNeuesBuch, QtCore.SIGNAL("clicked()"), self.neues_buch) self.connect(self.btnNeueLektion, QtCore.SIGNAL("clicked()"), self.neue_lektion) self.connect(self.btnWoerterbuch, QtCore.SIGNAL("clicked()"), self.woerterbuch) self.connect(self.btnNeueVok, QtCore.SIGNAL("clicked()"), self.neue_vokabel) self.connect(self.btnAbfrageStarten, QtCore.SIGNAL("clicked()"), self.abfrage_einstellungen) self.connect(self.btnSpracheBeareiten, QtCore.SIGNAL("clicked()"), self.sprache_aendern) self.connect(self.btnBuecherBearbeiten, QtCore.SIGNAL("clicked()"), self.buch_aendern) self.connect(self.btnLektionbearbeiten, QtCore.SIGNAL("clicked()"), self.lektioen_aendern) self.connect(self.btnStatistik, QtCore.SIGNAL("clicked()"), self.statistik_oeffnen) self.connect(self.btnFortsetzen, QtCore.SIGNAL("clicked()"), self.AbfrageFortsetzen) self.connect(self.btnZuruecksetzen, QtCore.SIGNAL("clicked()"), self.databaseReseet) self.connect(self.pbSonderlektion, QtCore.SIGNAL("clicked()"), self.woerterbuechSonderlektion) self.connect(self.pBEditGrammarHints, QtCore.SIGNAL("clicked()"), self.grammar_edit) self.infothread = InfoThreadMainWindow(self) self.actionMindestuebereinstimmung.triggered.connect(self.MinFit) self.actionSchliessen.triggered.connect(self.closeProgram) self.datenbank = Datenbank.base("VokabelDatenbank.sqlite") # Fehlerbekaempfung in Sonderlektion statement = "update vokabeln set status=0 where status > 6" self.datenbank.setData(statement) # add datacol for variabletime in query try: statement = "select warteZeitRichtig from Einstellungen" self.datenbank.getDataAsList(statement) except: statement = "ALTER TABLE Einstellungen ADD COLUMN warteZeitRichtig INTEGER;" self.datenbank.setData(statement) statement = "update Einstellungen set warteZeitRichtig=1000 where id like 1" self.datenbank.setData(statement) print("Datenbank aktualisiert") try: statement = "select richtig from vokabeln" self.datenbank.getDataAsList(statement) except: print("kann richtig nicht aus Vokabeln lesen, weil nicht verfügbar") print("spalte richtig wird erstellt") tableUpdateStatement = "ALTER TABLE Vokabeln ADD COLUMN richtig INTEGER DEFAULT 0;" self.datenbank.setData(tableUpdateStatement) print("Datenbank aktualisiert") print("spalte falsch wird erstellt") tableUpdateStatement = "ALTER TABLE Vokabeln ADD COLUMN falsch INTEGER DEFAULT 0" self.datenbank.setData(tableUpdateStatement) print("Datenbank aktualisiert") print("spalte zuletztRichtig wird erstellt") tableUpdateStatement = "ALTER TABLE Vokabeln ADD COLUMN zuletztRichtig INTEGER;" self.datenbank.setData(tableUpdateStatement) print("Datenbank aktualisiert") #set initvalues tableUpdateStatement = "update vokabeln set richtig=3, falsch=0, zuletztRichtig=1" self.datenbank.setData(tableUpdateStatement) print("Datenbank aktualisiert") try: statement = "select * from formhinweise" self.datenbank.getDataAsList(statement) except: #create table statement = "CREATE TABLE formhinweise (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL , idSprache INTEGER, hint TEXT);" self.datenbank.setData(statement) updateStatement = "ALTER TABLE vokabeln ADD COLUMN idHint INTEGER;" self.datenbank.setData(updateStatement) try: statement = "select zuletztabgefragt from lektionen" self.datenbank.getDataAsList(statement) except: updateStatement = "ALTER TABLE LEKTIONEN ADD COLUMN zuletztAbgefragt DATETIME" self.datenbank.setData(updateStatement) try: statement = "select count(*) from vokabeln where richtig is NULL" data = self.datenbank.getDataAsList(statement) if data[0][0] > 0: statement = "update Vokabeln set richtig=0 where richtig is null" self.datenbank.setData(statement) statement = "select count(*) from vokabeln where falsch is NULL" data = self.datenbank.getDataAsList(statement) if data[0][0] > 0: statement = "update Vokabeln set falsch=0 where falsch is null" self.datenbank.setData(statement) except: print("Datenbankaenderung fehlgeschagen! Defaultwerte fuer richig und falsch aus vokabeln sollten" " auf 0 gesetzt werden") self.wStatistik = None self.wLektionAendern = None self.wAbfrageForsetzen = None self.wVorsichtigSein = None self.wBuch_aendern = None self.wSprache_aendern = None self.wAbfrage_einstellungen = None self.wNeue_vokabel = None self.wNeues_buch = None self.wNeue_sprache = None self.wNeue_lektion = None self.wWoerterbuch = None self.wMinFit = None self.wWoerterbuchSonder = None self.wGrammarHints = None if os.stat('zwischenSpeicher.fs').st_size == 0: self.FortsetzenDisable() else: self.FortsetzenEnable() self.datenbank = Datenbank.base("VokabelDatenbank.sqlite") self.setInfoInvisible() def closeProgram(self): self.close() def setInfoVisible(self, text): self.labInfotext.setText(text) self.labInfotext.setVisible(True) self.hw1InfoText.setVisible(True) self.hw2InfoText.setVisible(True) self.hwInfotext.hide() def setInfoInvisible(self): self.labInfotext.hide() self.hw1InfoText.hide() self.hw2InfoText.hide() self.hwInfotext.setVisible(True) def databaseReseet(self): box = QtGui.QMessageBox() boxText = u"Wollen Sie die Datenbank wirklich zurücksetzen? <br> Es werden alle Daten gelöscht!" box.setText(boxText) btnJa = box.addButton(QtCore.QString(u"Ja"), QtGui.QMessageBox.AcceptRole) btnNein = box.addButton(QtCore.QString(u"Abbrechen"), QtGui.QMessageBox.RejectRole) box.exec_() if box.clickedButton() == btnJa: statement = "delete from Buecher" self.datenbank.delData(statement) statement = "delete from Lektionen" self.datenbank.delData(statement) statement = "delete from sprache" self.datenbank.delData(statement) statement = "delete from statistik" self.datenbank.delData(statement) statement = "delete from Vokabeln" self.datenbank.delData(statement) statement = "delete from sondervokabeln" self.datenbank.delData(statement) self.infothread.start() self.setInfoVisible(u"Datenbank wurde gelöscht") elif box.clickedButton() == btnNein: print(u"nein geklickt") def statistik_oeffnen(self): """ öffnet die Statistik """ self.wStatistik = Statistik.Statistik(self) self.wStatistik.show() def lektioen_aendern(self): """soll Fenster für Lektion ändern anzeigen """ self.wLektionAendern = LektionAendern.LektionAendern(self) self.wLektionAendern.show() def grammar_edit(self): self.wGrammarHints = Grammar.FormhinweiseAendern(self) self.wGrammarHints.show() def AbfrageFortsetzen(self): self.wAbfrageForsetzen = Abfrage.Abfrage(self, '', '', '', '', '', '', '', '', '', '1') self.wAbfrageForsetzen.show() def vorsichtig_sein(self): """Fenster für Vorsichtig sein""" self.wVorsichtigSein = Vorsichtig.VorsichtigSein(self) self.wVorsichtigSein.show() def buch_aendern(self): """Fenster für Buch ändern""" self.wBuch_aendern = BuchAendern.BuchAendern(self) self.wBuch_aendern.show() def sprache_aendern(self): """Fenster für Sprache ändern""" self.wSprache_aendern = SpracheAendern.SpracheAendern(self) self.wSprache_aendern.show() def abfrage_einstellungen(self): """Fenster für Abfrage Einstellungen""" self.wAbfrage_einstellungen = AbfrageEinstellungen.AbfrageEinstellungen(self) self.wAbfrage_einstellungen.show() def neue_vokabel(self): """Fenster für neue Vokabel""" self.wNeue_vokabel = NeueVokabel.NeueVokabelAnlegen(self) self.wNeue_vokabel.show() def neues_buch(self): """Fenster für neue Buch""" self.wNeues_buch = NeuesBuch.NeuesBuch(self) self.wNeues_buch.show() def neue_sprache(self): """Fenster für neue Sprache""" self.wNeue_sprache = NeueSprache.NeueSprache() self.wNeue_sprache.show() def woerterbuechSonderlektion(self): """Fenster für Sonderwoerterbuch""" self.wWoerterbuchSonder = Sonderwoerterbuch.SonderWoerterbuch(self) self.wWoerterbuchSonder.show() def neue_lektion(self): """"Fenster für neue Lektion""" self.wNeue_lektion = NeueLektion.NeueLektion(self) self.wNeue_lektion.show() def woerterbuch(self): """fenster für Wörterbuch""" self.wWoerterbuch = Woerterbuch.Woerterbuch(self) self.wWoerterbuch.show() def FortsetzenDisable(self): self.btnFortsetzen.setEnabled(False) self.btnFortsetzen.setToolTip('') def FortsetzenEnable(self): self.btnFortsetzen.setEnabled(True) text = self.datenbank.getDataAsList('select datum from AbfrageFortsetzen where id like 1') self.btnFortsetzen.setToolTip(str(text[0][0])) def MinFit(self): self.wMinFit = EinstellungenMindestTreffer.MindestTreffer(self) self.wMinFit.show()