PyQT6 Fenster schließt sich immer
Verfasst: Donnerstag 19. Mai 2022, 22:10
Moin,
ich bin gerade dabei mir eine Gui mit PyQT6 zu programmieren. Ich studiere Maschinenbau und muss im Rahmen eines Informatiklabors ein Sensor aus einem Auto auslesen und die Daten (Beschleunigung, Weg, etc.) mit einer Gui darstellen. An Vorwissen kann ich lediglich meine Informatik1 Veranstaltung vorweisen, dort haben wir aber nur Basics zu Phyton gelernt. Dinge wie die Socketprogrammierung oder den Umgang mit MySQL musste ich mir in den letzten 2 Monaten selbst beibringen. Mein Projekt für das Labor ist fast fertig, wenn ich nicht an der Gui scheitern würde.
Unzwar:
Ich habe in meinem Hauptfenster einen Pushbutton installiert, wenn ich diesen drücke soll sich ein 2., seperates Fenster öffnen. Die definierte Klasse für das 2. Fenster habe ich aus einem 2. Skript importiert. Das Fenster öffnet sich auch, verschwindet aber sofort wieder. Ich habe schon alles mir in den Sinn kommende probiert, komme aber nicht weiter und hoffe daher dass mir hier jemand helfen kann.
Grüße
Mein Hauptskript:
import sys
from PyQt6.QtWidgets import QApplication, QWidget, QPushButton, QMainWindow
from PyQt6 import QtCore
import matplotlib.pyplot as plt
import matplotlib.lines as mlines
class Hauptfenster(QWidget): #(QWidget)
def __init__(self):
super(Hauptfenster, self).__init__()
self.initHaupt_Fenster()
self.setGeometry(50, 50, 500, 800)
self.setWindowTitle("Hauptfenster")
self.show()
def initHaupt_Fenster(self):
buttonGerade = QPushButton("Geradeausfahrt", self)
buttonGerade.move(50,50)
buttonGerade.clicked.connect(self.klicken)
def klicken (self):
print("Ich wurde gedrückt")
import GuI2
self.zweitesfenster = GuI2.Hauptfenster2()
self.zweitesfenster.show()
app = QApplication(sys.argv)
w = Hauptfenster()
sys.exit(app.exec())
Mein 2. Skript ("GuI2"):
from PyQt6.QtWidgets import QApplication, QWidget, QPushButton, QMainWindow
from PyQt6 import QtCore
import sys
import matplotlib.pyplot as plt
import matplotlib.lines as mlines
class Hauptfenster2(QWidget): #(QWidget)
def __init__(self):
super(Hauptfenster2, self).__init__()
self.setGeometry(50, 50, 500, 800)
self.setWindowTitle(" neues Hauptfenster")
self.plotten()
self.show
def plotten (self) :
blue_line = mlines.Line2D([], [], color='blue', marker='*',
markersize=15, label='Blue stars')
plt.legend(handles=[blue_line])
plt.show()
app = QApplication(sys.argv)
def main():
main = Hauptfenster2()
main.show()
sys.exit(app.exec())
main()
ich bin gerade dabei mir eine Gui mit PyQT6 zu programmieren. Ich studiere Maschinenbau und muss im Rahmen eines Informatiklabors ein Sensor aus einem Auto auslesen und die Daten (Beschleunigung, Weg, etc.) mit einer Gui darstellen. An Vorwissen kann ich lediglich meine Informatik1 Veranstaltung vorweisen, dort haben wir aber nur Basics zu Phyton gelernt. Dinge wie die Socketprogrammierung oder den Umgang mit MySQL musste ich mir in den letzten 2 Monaten selbst beibringen. Mein Projekt für das Labor ist fast fertig, wenn ich nicht an der Gui scheitern würde.
Unzwar:
Ich habe in meinem Hauptfenster einen Pushbutton installiert, wenn ich diesen drücke soll sich ein 2., seperates Fenster öffnen. Die definierte Klasse für das 2. Fenster habe ich aus einem 2. Skript importiert. Das Fenster öffnet sich auch, verschwindet aber sofort wieder. Ich habe schon alles mir in den Sinn kommende probiert, komme aber nicht weiter und hoffe daher dass mir hier jemand helfen kann.
Grüße
Mein Hauptskript:
import sys
from PyQt6.QtWidgets import QApplication, QWidget, QPushButton, QMainWindow
from PyQt6 import QtCore
import matplotlib.pyplot as plt
import matplotlib.lines as mlines
class Hauptfenster(QWidget): #(QWidget)
def __init__(self):
super(Hauptfenster, self).__init__()
self.initHaupt_Fenster()
self.setGeometry(50, 50, 500, 800)
self.setWindowTitle("Hauptfenster")
self.show()
def initHaupt_Fenster(self):
buttonGerade = QPushButton("Geradeausfahrt", self)
buttonGerade.move(50,50)
buttonGerade.clicked.connect(self.klicken)
def klicken (self):
print("Ich wurde gedrückt")
import GuI2
self.zweitesfenster = GuI2.Hauptfenster2()
self.zweitesfenster.show()
app = QApplication(sys.argv)
w = Hauptfenster()
sys.exit(app.exec())
Mein 2. Skript ("GuI2"):
from PyQt6.QtWidgets import QApplication, QWidget, QPushButton, QMainWindow
from PyQt6 import QtCore
import sys
import matplotlib.pyplot as plt
import matplotlib.lines as mlines
class Hauptfenster2(QWidget): #(QWidget)
def __init__(self):
super(Hauptfenster2, self).__init__()
self.setGeometry(50, 50, 500, 800)
self.setWindowTitle(" neues Hauptfenster")
self.plotten()
self.show
def plotten (self) :
blue_line = mlines.Line2D([], [], color='blue', marker='*',
markersize=15, label='Blue stars')
plt.legend(handles=[blue_line])
plt.show()
app = QApplication(sys.argv)
def main():
main = Hauptfenster2()
main.show()
sys.exit(app.exec())
main()