Python 3.9.7 "unexpected indent"

Eine Fehlermeldung muss (kann) man einer IDE nicht abgewöhnen sondern den gemeldeten Fehler beheben.
 
  • Gefällt mir
Reaktionen: cbmik und SoDaTierchen
Leider gibt es nur diesen Hinweis und der Cursor zeigt auf diese Stelle. Leerzeichen raus, Tabs raus - nichts hat geholfen.
 
Dann poste doch mal den Code
 
Das ist ein Beispielcode. Nix selbst geschriebenes. In Zeile 6 wird immer vor dem def die obrige Fehlermeldung ausgegeben. Leider löscht der Editor hier alle Leerzeichen.
Das Original kann man auf der Seite https://de.acervolima.com/pyqt5-qtsql-python/ finden.

import sys
from PyQt5 import QtCore, QtGui, QtWidgets, QtSql

class Ui_MainWindow(object): have

def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(432, 813)
MainWindow.setMinimumSize(QtCore.QSize(432, 813))
MainWindow.setMaximumSize(QtCore.QSize(432, 813))

self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.frame = QtWidgets.QFrame(self.centralwidget)
self.frame.setGeometry(QtCore.QRect(0, 0, 781, 821))

self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame.setObjectName("frame")

self.tableWidget = QtWidgets.QTableWidget(self.frame)
self.tableWidget.setGeometry(QtCore.QRect(0, 10, 431, 731))
self.tableWidget.setRowCount(10)
self.tableWidget.setColumnCount(2)
self.tableWidget.setObjectName("tableWidget")

item = QtWidgets.QTableWidgetItem()
item1 = QtWidgets.QTableWidgetItem()

self.tableWidget.setHorizontalHeaderItem(0, item)
self.tableWidget.setHorizontalHeaderItem(1, item1)
self.tableWidget.horizontalHeader().setDefaultSectionSize(185)
self.tableWidget.verticalHeader().setMinimumSectionSize(50)
MainWindow.setCentralWidget(self.centralwidget)

self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)

self.QSqlDatabase.addDatabase("QMYSQL")
self.db.setHostName("geeksforgeeks")
self.db.setDatabaseName("gfgdb")
self.db.setUserName("geeks")
self.db.setPassword("gfg")

self.qry = QString("SELECT * FROM employee")
self.query = QSqlQuery()
self.query.prepare(self.qry)
self.query.exec()


for row_number, row_data in enumerate(self.query.result()):
for column_number, data in enumerate(row_data):
self.tableWidget.setItem(row_number, column_number, QtWidgets.QTableWidgetItem(data)

def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "List of All Employee(GFGdb)"))
item = self.tableWidget.horizontalHeaderItem(0)
item.setText(_translate("MainWindow", "NAME"))
item1 = self.tableWidget.horizontalHeaderItem(1)
item1.setText(_translate("MainWindow", "SALARY"))

if name == "main":

import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
 
Das :have bei der Klasse habe ich weg gemacht, weiß nicht wofür das ist.

Python:
import sys
from PyQt5 import QtCore, QtGui, QtWidgets, QtSql

class Ui_MainWindow(object):
  def setupUi(self, MainWindow):
    MainWindow.setObjectName("MainWindow")
    MainWindow.resize(432, 813)
    MainWindow.setMinimumSize(QtCore.QSize(432, 813))
    MainWindow.setMaximumSize(QtCore.QSize(432, 813))

    self.centralwidget = QtWidgets.QWidget(MainWindow)
    self.centralwidget.setObjectName("centralwidget")
    self.frame = QtWidgets.QFrame(self.centralwidget)
    self.frame.setGeometry(QtCore.QRect(0, 0, 781, 821))

    self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)
    self.frame.setFrameShadow(QtWidgets.QFrame.Raised)
    self.frame.setObjectName("frame")

    self.tableWidget = QtWidgets.QTableWidget(self.frame)
    self.tableWidget.setGeometry(QtCore.QRect(0, 10, 431, 731))
    self.tableWidget.setRowCount(10)
    self.tableWidget.setColumnCount(2)
    self.tableWidget.setObjectName("tableWidget")

    item = QtWidgets.QTableWidgetItem()
    item1 = QtWidgets.QTableWidgetItem()

    self.tableWidget.setHorizontalHeaderItem(0, item)
    self.tableWidget.setHorizontalHeaderItem(1, item1)
    self.tableWidget.horizontalHeader().setDefaultSectionSize(185)
    self.tableWidget.verticalHeader().setMinimumSectionSize(50)
    MainWindow.setCentralWidget(self.centralwidget)

    self.retranslateUi(MainWindow)
    QtCore.QMetaObject.connectSlotsByName(MainWindow)

    self.QSqlDatabase.addDatabase("QMYSQL")
    self.db.setHostName("geeksforgeeks")
    self.db.setDatabaseName("gfgdb")
    self.db.setUserName("geeks")
    self.db.setPassword("gfg")

    self.qry = QString("SELECT * FROM employee")
    self.query = QSqlQuery()
    self.query.prepare(self.qry)
    self.query.exec()

    for row_number, row_data in enumerate(self.query.result()):
      for column_number, data in enumerate(row_data):
        self.tableWidget.setItem(row_number, column_number, QtWidgets.QTableWidgetItem(data)

  def retranslateUi(self, MainWindow):
    _translate = QtCore.QCoreApplication.translate
    MainWindow.setWindowTitle(_translate("MainWindow", "List of All Employee(GFGdb)"))
    item = self.tableWidget.horizontalHeaderItem(0)
    item.setText(_translate("MainWindow", "NAME"))
    item1 = self.tableWidget.horizontalHeaderItem(1)
    item1.setText(_translate("MainWindow", "SALARY"))

    if name == "main":
      import sys
      app = QtWidgets.QApplication(sys.argv)
      MainWindow = QtWidgets.QMainWindow()
      ui = Ui_MainWindow()
      ui.setupUi(MainWindow)
      MainWindow.show()
      sys.exit(app.exec_())
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: madmax2010 und SoDaTierchen
Danke.
Code in meine Datei rein kopiert. Jetzt kommt "invalid systax" und Zeile 53/54 ist rot.
 
Ich hab schon lange nix mehr mit Python gemacht aber sollte
das nicht so aussehen:

class > def > setting

Code:
class Ui_MainWindow(object): have
    def setupUi(self, MainWindow):
          MainWindow.setObjectName("MainWindow")
 
Im Code hat noch ein ) gefehlt.

PS: Das import sys unten in retranslateUi dürfte überflüssig sein, wird oben ja schon importiert.

Python:
import sys
from PyQt5 import QtCore, QtGui, QtWidgets, QtSql

class Ui_MainWindow(object):
  def setupUi(self, MainWindow):
    MainWindow.setObjectName("MainWindow")
    MainWindow.resize(432, 813)
    MainWindow.setMinimumSize(QtCore.QSize(432, 813))
    MainWindow.setMaximumSize(QtCore.QSize(432, 813))

    self.centralwidget = QtWidgets.QWidget(MainWindow)
    self.centralwidget.setObjectName("centralwidget")
    self.frame = QtWidgets.QFrame(self.centralwidget)
    self.frame.setGeometry(QtCore.QRect(0, 0, 781, 821))

    self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)
    self.frame.setFrameShadow(QtWidgets.QFrame.Raised)
    self.frame.setObjectName("frame")

    self.tableWidget = QtWidgets.QTableWidget(self.frame)
    self.tableWidget.setGeometry(QtCore.QRect(0, 10, 431, 731))
    self.tableWidget.setRowCount(10)
    self.tableWidget.setColumnCount(2)
    self.tableWidget.setObjectName("tableWidget")

    item = QtWidgets.QTableWidgetItem()
    item1 = QtWidgets.QTableWidgetItem()

    self.tableWidget.setHorizontalHeaderItem(0, item)
    self.tableWidget.setHorizontalHeaderItem(1, item1)
    self.tableWidget.horizontalHeader().setDefaultSectionSize(185)
    self.tableWidget.verticalHeader().setMinimumSectionSize(50)
    MainWindow.setCentralWidget(self.centralwidget)

    self.retranslateUi(MainWindow)
    QtCore.QMetaObject.connectSlotsByName(MainWindow)

    self.QSqlDatabase.addDatabase("QMYSQL")
    self.db.setHostName("geeksforgeeks")
    self.db.setDatabaseName("gfgdb")
    self.db.setUserName("geeks")
    self.db.setPassword("gfg")

    self.qry = QString("SELECT * FROM employee")
    self.query = QSqlQuery()
    self.query.prepare(self.qry)
    self.query.exec()

    for row_number, row_data in enumerate(self.query.result()):
      for column_number, data in enumerate(row_data):
        self.tableWidget.setItem(row_number, column_number, QtWidgets.QTableWidgetItem(data))

  def retranslateUi(self, MainWindow):
    _translate = QtCore.QCoreApplication.translate
    MainWindow.setWindowTitle(_translate("MainWindow", "List of All Employee(GFGdb)"))
    item = self.tableWidget.horizontalHeaderItem(0)
    item.setText(_translate("MainWindow", "NAME"))
    item1 = self.tableWidget.horizontalHeaderItem(1)
    item1.setText(_translate("MainWindow", "SALARY"))

    if name == "main":
      import sys
      app = QtWidgets.QApplication(sys.argv)
      MainWindow = QtWidgets.QMainWindow()
      ui = Ui_MainWindow()
      ui.setupUi(MainWindow)
      MainWindow.show()
      sys.exit(app.exec_())
 
  • Gefällt mir
Reaktionen: Crimvel
Danke jetzt gehs.

Gibt es noch einen Tipp für eine gute IDE.
Ich glaube die IDLE ist nichts für mich.
 
IDE: PyCharm, das einzig Wahre! :D
 
  • Gefällt mir
Reaktionen: 0x8100 und Alexander2
Danke ich werde das mal installieren.
Nochmal Danke an alle die mir geholfen haben.
 
Zurück
Oben