Seite 1 von 1
Erstelltest Fenster im neuen code weiter bearbeiten
Verfasst: Freitag 17. Dezember 2021, 16:59
von Mesut_Barut12
Schönen Guten Abend,
Ich habe in einer Python Datei eine Anwendung Programmiert und jetzt möchte Ich es von einer andere Datei aufrufen und es weiter bearbeiten. Das aufrufen habe Ich hinbekomme jedoch wenn Ich es weiter bearbeiten will funktioniert es irgendwie nicht. Ich hoffe es kann mir hier weiter geholfen werden
Code: Alles auswählen
from Hauptfenster import Hauptfenster, Ui_Hauptfenster, QtWidgets, sys
class Test(QtWidgets.QMainWindow):
def __init__(self):
super().__init__()
self.ui_hauptfenster = Ui_Hauptfenster()
self.ui_hauptfenster.setupUi(Hauptfenster())
#einnahme_bestaetigen ist ein button
self.ui_hauptfenster.einnahme_bestaetigen.clicked.connect(self.mausklick_input)
def mausklick_input(self):
print("geklickt")
app = QtWidgets.QApplication(sys.argv)
hauptfenster = Hauptfenster()
hauptfenster.show()
sys.exit(app.exec_())
Re: Erstelltest Fenster im neuen code weiter bearbeiten
Verfasst: Freitag 17. Dezember 2021, 17:55
von __blackjack__
@Mesut_Barut12: Was ist denn da jetzt die konkrete Frage? Was passiert? Was hättest Du stattdessen erwartet? Falls es eine Fehlermeldung gibt, wie lautet die?
Was macht die `Test`-Klasse da, die nirgends verwendet wird?
Und falls da irgendein beteiligtes Modul generierter Quelltext sein sollte: das macht man eigentlich nicht, sondern lädt die *.ui-Datei zur Laufzeit des Programms.
Re: Erstelltest Fenster im neuen code weiter bearbeiten
Verfasst: Freitag 17. Dezember 2021, 19:27
von Mesut_Barut12
Die Test klasse soll wenn der Button "bestätigen" geklickt wird eine einfache print nachricht ausgeben.
Der button "bestätigen" ist in der Hauptklasse definiert den kann Ich aufrufen und der code funktiont auch ganz normal. Aber wenn Ich von außen von der klasse test etwas ändern möchte passiert nichts.
Re: Erstelltest Fenster im neuen code weiter bearbeiten
Verfasst: Freitag 17. Dezember 2021, 20:10
von __blackjack__
@Mesut_Barut12: Wieso sollte denn mit dieser Test-Klasse denn irgendetwas passieren? Die wird nirgends verwendet.
Und solltest Du dann tatsächlich mal ein Exemplar davon erstellen, passieren in der `__init__()` komische, falsche Sachen.
Wir wissen ja nicht wie `Hauptfenster` aussieht, aber wenn das ”normal” aussieht, frage ich mich auch was denn `Test` soll? Warum *noch* eine Klasse?
Re: Erstelltest Fenster im neuen code weiter bearbeiten
Verfasst: Freitag 17. Dezember 2021, 22:40
von Mesut_Barut12
Du meinst also die test klasse wird garnicht ausgeführt? Ja stimmt habe Ich wohn übersehen dann kann ja garnix passieren. Ich versuchs mal mit aufrufen der klasse
Update:
Ich habe die Test Klasse aufgerufen und es passiert einfach mal garnichts fehlermeldung gibt es auch nicht.
Code: Alles auswählen
from Hauptfenster import Hauptfenster, Ui_Hauptfenster, QtWidgets, sys
class Test(QtWidgets.QMainWindow):
def __init__(self):
super().__init__()
self.ui_hauptfenster = Ui_Hauptfenster()
self.ui_hauptfenster.setupUi(Hauptfenster())
#einnahme_bestaetigen ist ein button
self.ui_hauptfenster.einnahme_bestaetigen.clicked.connect(self.mausklick_input)
def mausklick_input(self):
print("geklickt")
#Nachdem Aufrufen der Test Klasse passiert einfach garnichts
Test()
app = QtWidgets.QApplication(sys.argv)
hauptfenster = Hauptfenster()
hauptfenster.show()
sys.exit(app.exec_())
Re: Erstelltest Fenster im neuen code weiter bearbeiten
Verfasst: Freitag 17. Dezember 2021, 22:56
von __blackjack__
@Mesut_Barut12: Das kann ich mir fast nicht vorstellen das da keine Meldung kommt das man keine Qt-Fenster *vor* dem `QApplication`-Objekt erstellen darf. Andererseits wissen wir aber auch nicht was da in dem `Hauptfenster`-Modul auf Modulebene so ausgeführt wird. Und ganz allgemein kannst Du halt auch nicht erwarten das irgendwas sinnvolles passiert wenn Du ein Objekt erstellst und damit dann einfach gar nichts machst. Das wird ja sofort wieder von der Speicherverwaltung zum Abschuss freigegeben. Und es wird auch nirgends angezeigt. Und wenn es angezeigt wird, dann enthält es nichts. Und es steht immer noch die Frage im Raum was diese Klasse überhaupt soll. Die macht so keinen Sinn.