Ich verzweifel mal wieder....
Ich hab ein Programm das eine mdiArea enthält...
Aus der Toolbar kann ich dann 2 Unterfenster öffnen.
Nun Greift (im Orginal) das erste Fenster auf eine Datenbank zu und listet die auf.
Wenn ich dann auf eine der dargestellten Zeilen klicke, soll eine Funktion ausgelöst werden, die beim 2ten Unterfenster, wenn es denn geöffnet ist, die GUI (Bzw die Tabelle in dem Unterfenster) Aktualisiert.
Wenn ich aber auf irgendein Qt Objekt von dem anderen Unterfenster zugreife. Wird mir herausgegeben das dieser Datentyp nicht existiert.
Alle anderen Python internen Funktionen laufen anstandslos...
Warum? Bzw wie löse ich das?
Kurzfassung:
Wie mache ich es, das wenn sich in Fenster A etwas ändert,
auch automatisch Änderungen in Fenster B stattfinden.
Code: Alles auswählen
class Main(QtGui.QMainWindow):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.ui.subs = ""
self.connectSignals()
def connectSignals(self):
self.connect(self.ui.actionTree, QtCore.SIGNAL("toggled(bool)"), self.B_Topic )
self.connect(self.ui.actionTable, QtCore.SIGNAL("toggled(bool)"), self.B_Index )
def B_Topic(self):
Topic = subTopic()
self.ui.mdiArea.addSubWindow(Topic)
Topic.show()
def B_Index(self):
Index = subIndex()
self.ui.mdiArea.addSubWindow(Index)
Index.show()
class subTopic(QtGui.QWidget):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.subT = Ui_Topics()
self.subT.setupUi(self)
self.connectSignals()
def start(self):
print "HI!"
SI = subIndex()
SI.start()
def connectSignals(self):
self.connect(self.subT.treeWidget, QtCore.SIGNAL("clicked(QModelIndex)"), self.start )
class subIndex(QtGui.QWidget):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.subI = Ui_Index()
self.subI.setupUi(self)
def start(self):
self.subI.table_feed.setText("Done")
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
myapp = Main()
myapp.show()
sys.exit(app.exec_())
Gruß,
Vondor