Fehler -1073740791 (0xC0000409)

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
alpi
User
Beiträge: 8
Registriert: Mittwoch 18. Mai 2022, 06:04

Hallo ihr lieben,

ich versuche Python zu lernen. Nun habe ich folgendes Problem, dass ich LEIDER nicht lösen kann. Kann mir vielleicht jemand weiterhelfen :cry: Leider Bekomme ich immer bei dem folgenden Code immer eine Fehlermeldung. Vielen Dank schonmal!!

Code: Alles auswählen

from qtpy import uic
uic.compileUiDir('rumer')

import csv
import sys
from PyQt5.QtWidgets import  QTextEdit
from qtpy import QtWidgets
from  rumer.form import Ui_Widget
app = QtWidgets.QApplication(sys.argv)




   # def do(self):
       # with open('data.csv', 'a', newline='') as schreiber:

           # writer = csv.writer(schreiber)
           # writer.writerow(['Namen' + ';' + 'Alter' + ';' + 'Ort'])




class Main(QtWidgets.QMainWindow):










    #def kpfzeile(self):
        #with open('../datei.csv', 'a', newline='') as schreiber:
            #writer = csv.writer(schreiber)

            #writer.writerow(['Namen' + ';' + 'Alter' + ';' + 'Ort'])
            #for i in range(0, 2):
               # name = input('Wie ist dein Name: ')
               # alter = str(input('Wie alt bist du: '))
               # ort = input('Aus welcher Stadt kommst du: ')
               # writer.writerow([name + ';' + alter + ';' + ort])












    def __init__(self, parent = None):
        super().__init__(parent)

        self.setWindowTitle('aLpEr')
        self.rumer = Ui_Widget()
        self.rumer.setupUi(self)
        self.text = QTextEdit(self)



      
        self.rumer.button.clicked.connect(self.on_button_clock)



    def on_button_clock(self ):
        name = self.rumer.namenfeld.value()
        stadt = self.rumer.lineEdit_2.value()



       


        with open('data.csv','a') as writer:
            schreiben = csv.writer(writer)
            schreiben.writerow(['Namen' + ';' + 'Alter' + ';' + 'Ort'])
           


        print(name + stadt)




windows = Main()

windows.show()


sys.exit(app.exec_())
Sirius3
User
Beiträge: 17712
Registriert: Sonntag 21. Oktober 2012, 17:20

`compileUiDir` sollte man nicht benutzen, weil man ui-Dateien direkt lädt. Warum bindest Du qtpy ein, wenn Du doch direkt PyQt5 benutzt?
Die vielen Leerzeilen machen den Code unlesbar. Mehr als zwei Leerzeilen z.B. zwischen (Klassen-)Definitionen sind nicht üblich.
Was soll das QTextEdit-Feld, das gar nicht benutzt wird?
`lineEdit_2` sollte einen besseren Namen bekommen.
Man benutzt das csv-Modul um korrekte CSV-Dateien zu schreiben, Du baust Dir aber selbst mit Trennzeichen was zusammen, was unweigerlich zu fehlerhaften Dateien führt.
csv-Dateien muß man mit encoding und newline-Argumenten öffnen.
Das Hauptprogramm steht in einer Funktion `main` und nicht auf globaler Ebene.
Warum nennst Du EIN Fenster `windows`?

Code: Alles auswählen

import os
import sys
import csv
from PyQt5.QtWidgets import QMainWindow, QApplication
from PyQt5 import uic

class MainWindow(QMainWindow):
    UI_FILENAME = os.path.join(os.path.dirname(__file__), "rumer.ui")

    def __init__(self, parent=None):
        super().__init__(parent)
        self.setWindowTitle('aLpEr')
        self.rumer = uic.loadUi(UI_FILENAME)
        self.rumer.button.clicked.connect(self.on_button_clock)


    def on_button_clock(self):
        name = self.rumer.namenfeld.value()
        stadt = self.rumer.lineEdit_2.value()
        with open('data.csv', 'a', encoding="utf8", newline="") as writer:
            schreiben = csv.writer(writer, delimiter=";")
            schreiben.writerow(['Namen', 'Alter', 'Ort'])
        print(name, stadt)


def main():
    app = QtWidgets.QApplication(sys.argv)
    window = MainWindow()
    window.show()
    sys.exit(app.exec())

if __name__ == "__main__":
    main()
Der Fehler deutet auf einen Fehler in Qt direkt hin und nicht im Python-Code. Wann tritt der Fehler genau auf?
narpfel
User
Beiträge: 643
Registriert: Freitag 20. Oktober 2017, 16:10

@alpi: Benutzt du PyCharm? Wenn ja, hast du das Programm mal außerhalb von PyCharm gestartet? Bekommst du da eine ausführlichere Fehlermeldung? Das ist ein bekannter Fehler in PyCharm, dass Fehlermeldungen, die durch die Qt-Mainloop geworfen werden, einfach nicht angezeigt werden.
Antworten