On 11/05/12 15:13, Enes Albay wrote: > Hi, > > when i change > > class A(QtGui.QMainWindow): > .... > def setupUI(self): > self.lineEdit = QtGui.QLineEdit() > self.b = B() > self.b.c.clicked.connect(self.handleLetter) > ... > > def handleLetter(self): > self.lineEdit.setText("Hello") > > there is no compilation or running error. But, lineEdit text doesn't > change, nothing happening. > > > _______________________________________________ > PyQt mailing list PyQt@riverbankcomputing.com > http://www.riverbankcomputing.com/mailman/listinfo/pyqt > Why don't you pass a reference of the main windows to your's subclass?
This example is working: ------------------------------- class A(object): def setupUI(self, MainWindow): self.layout = QtGui.QVBoxLayout() self.lineEdit = QtGui.QLineEdit(MainWindow) self.b = B(self, MainWindow) self.b.setGeometry(0, 30, 80, 35) MainWindow.show() class B(QtGui.QWidget): def __init__(self, main, parent=None): super(B, self).__init__(parent) self.c = C(main, self) class C(QtGui.QPushButton): def __init__(self, main, parent=None): super(C, self).__init__(parent) self.main = main self.clicked.connect(self.handleLetter) def handleLetter(self): self.main.lineEdit.setText('Hello') if __name__ == '__main__': app = QtGui.QApplication(sys.argv) mw = QtGui.QMainWindow() a = A() a.setupUI(mw) sys.exit(app.exec_()) ----------------------------------------------- Cheers -- Vincent V.V. Oqapy <https://launchpad.net/oqapy> . Qarte+7 <https://launchpad.net/qarte+7> . PaQager <https://launchpad.net/paqager> _______________________________________________ PyQt mailing list PyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt