Ich habe da ein Problem bei dem ich einfahc nicht weiterkomme.
Und zwar versuche vom Hauptfenster aus ein Unterfenster zu
öffnen. Zwischen dem Hauptfenster und Unterfenster können
Informationen ausgetauscht werden. Bis dahin klappt das auch
alles völlig problemlos.
Nur wenn ich versuche das Unterfenster wieder zu schließen,
klappt das nicht. Obwohl die Close-Routine definitiv aufgerufen
wird.Ich habe schon alles mögliche ausprobiert, komme
aber einfach nicht weiter.
Hier der Source für das Hauptprogramm (heisst bei mir
ganz einfach: project1.pyw)
Code: Alles auswählen
import sys
from PyQt4 import QtCore, QtGui
from modul1 import Unterfenster
class Hauptfenster(object):
def __init__(self,parent = None):
Form1.resize(256, 128)
Form1.setWindowTitle("Dialogtest")
self.lineEdit = QtGui.QLineEdit(Form1)
self.lineEdit.setGeometry(QtCore.QRect(28, 24, 113, 20))
self.pushButton = QtGui.QPushButton(Form1)
self.pushButton.setGeometry(QtCore.QRect(30, 68, 75, 23))
self.pushButton.setText("Oeffne Dialog")
self.lineEdit.setFocus()
QtCore.QObject.connect(self.pushButton, QtCore.SIGNAL("clicked()"), self.unterfenster_aufrufen)
def unterfenster_aufrufen(self):
app2 = QtGui.QApplication(sys.argv)
Form2 = QtGui.QDialog()
dlg = Unterfenster()
dlg.setupUi(Form2)
dlg.label.setText(self.lineEdit.text())
dlg.pushButton.setText("Zurueck")
Form2.show()
self.lineEdit.setFocus()
QtCore.QObject.connect(dlg.pushButton, QtCore.SIGNAL("clicked(bool)"), self.unterfenster_schliessen)
def unterfenster_schliessen(self):
Form1.setWindowTitle("Form2 closed")
# Form2.close() # hier an dieser Stelle habe ich schon alles
# moegliche ausprobiert - ohne Erfolg
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
Form1 = QtGui.QWidget()
ui = Hauptfenster()
Form1.show()
sys.exit(app.exec_())
Und hier der Source für das Unterfenster (Dateiname: modul1.pyw)
Code: Alles auswählen
from PyQt4 import *
class Unterfenster(object):
def setupUi(self, Form2):
Form2.resize(350, 100)
Form2.setWindowTitle("Unterfenster")
self.label = QtGui.QLabel(Form2)
self.label.setGeometry(QtCore.QRect(28, 18, 300, 23))
self.pushButton = QtGui.QPushButton(Form2)
self.pushButton.setGeometry(QtCore.QRect(24, 60, 75, 23))
Wo ist mein Fehler....was mache ich falsch ?
Kann mir jemand weiterhelfen ?
Vielen Dank
btw.
Unter PyQt3 war das alles so wunderbar einfach. Warum
konnte man da nicht einfach die Finger davon lassen ?