PYQT 3 communication with 2 windows

Marcpp marcpp at gmail.com
Tue Apr 24 09:54:38 CEST 2007


On 21 abr, 02:43, David Boddie <d... at boddie.org.uk> wrote:
> On Thursday 19 April 2007 22:38, Marcpp wrote:
>
> > Hi, I'm introducing to program in python + pyqt.
> > I have a main window that call a second window (to introduce a info
> > with textedit)
> > when press the second window button I need to return to the main
> > window the info
> > introduced in the second window.
> > I've seek in the pyqt doc examples but i don't find it.
> > Have you any example?
>
> You could connect the button to a slot in the second window that sends
> the text back to the first window.
>
> Here's an example that sends the text to a function. You could substitute a
> class for the function to get what you want.
>
> import sys
> from qt import *
>
> class Window(QWidget):
>
>     def __init__(self, parent = None):
>
>         QWidget.__init__(self, parent)
>
>         self.textEdit = QTextEdit(self)
>         okButton = QPushButton(self.tr("&OK"), self)
>         self.connect(okButton, SIGNAL("clicked()"), self.sendText)
>         layout = QVBoxLayout(self)
>         layout.addWidget(self.textEdit)
>         layout.addWidget(okButton)
>
>     def sendText(self):
>
>         self.emit(PYSIGNAL("textEntered(QString)"), (self.textEdit.text(),))
>
> def fn(text):
>
>     print text
>
> if __name__ == "__main__":
>
>     app = QApplication(sys.argv)
>     window = Window()
>     window.connect(window, PYSIGNAL("textEntered(QString)"), fn)
>     window.show()
>     app.setMainWidget(window)
>     sys.exit(app.exec_loop())
>
> Note the use of PYSIGNAL() instead of SIGNAL(). With PyQt4 you would be able
> to use SIGNAL() and write the emit() call in a simpler form.
>
> David


Thankyou!!!
This is that I want.




More information about the Python-list mailing list