def von außen aufrufen

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
steenhy
User
Beiträge: 19
Registriert: Montag 23. März 2020, 20:22

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....?
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

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.
Antworten