Seite 1 von 1

def von außen aufrufen

Verfasst: Montag 22. Juni 2020, 12:56
von steenhy
Hallo,
ich bin wieder zu blöd ein def aus einem anderen Modul aufzurufen:
Ich möchte die "def fehler_meldung" starten und einen Hinweistext als Parameter übergeben, nur wie?

Code: Alles auswählen


from PyQt5.QtWidgets import QMainWindow, QApplication, QWidget, QMessageBox
from PyQt5.QtCore import pyqtSlot,QSize
import sys, os

class App(QMainWindow):

    def __init__(self):
        super().__init__()
        self.title = 'TBN-Tool'
        wid = QWidget(self)
        self.setCentralWidget(wid)
        self.setMinimumSize(QSize(600, 250))    
        self.setWindowTitle(self.title)
        self.show()
  #      self.fehler_meldung("sag hallo")  # von hier aus geht es...
        
    def fehler_meldung(self,meldung):   # um diese Prozedur geht es....
        QMessageBox.about(self,"Fehler ", meldung)
   

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = App()
    sys.exit(app.exec_())

ich versuche zum Beispiel aus der shell:
>>> import Fehler_box
>>> Fehler_box.fehler_meldung("sag hallo")
AttributeError: module 'Fehler_box' has no attribute 'fehler_meldung'
oder
>>> Fehler_box.App.fehler_meldung("sag hallo")
TypeError: fehler_meldung() missing 1 required positional argument: 'meldung'

Wie ist die richtige Syntax....?

Re: def von außen aufrufen

Verfasst: Montag 22. Juni 2020, 13:05
von __deets__
Natuerlich geht das nicht, du kannst doch keine Methode aufrufen, wenn kein Objekt der Klasse existiert. Du kannst ja auch keine Tuer aufmachen an einem Auto, von dem du nur eine Blaupause hast.