On 09.10.06 23:00:35, Dave S wrote:
> On Monday 09 October 2006 20:41, Andreas Pakulat wrote:
> > create a subclass from QDialog and the form and implement 3 slots,
> > connect each slot to one of the buttons. Then in each slot set a member
> > variable of self to 0, 1 or 2 and then call accept or reject
> > accordingly.
> >
> > After dialog_instance.exec_() returned you can check the member variable
> > of dialog_instance to know which button was pressed.
> 
> Thank you for replying :)
> 
> I hear what you are saying and on designer QT3 this works very well.
> 
> Unfortunately I did not explain myself very well. I am using designer QT4 
> which has done away with the option of creating slots inside the generated 
> dialogue ... thus my problem !

You don't need slots created by designer. Just write a python class that
subclasses from QDialog and you Ui. See the PyQt4 examples for some
inspiration. In that subclass you then have the slots (you could even use
auto-connection for that) which sets the member variable.

> > I don't think your idea can work, because your slot is executed after
> > exec_() has finished.
> 
> Execution of ...
> print justify_dialog.exec_()
> continues indefinitely, 
> 
> I was hoping that 
> QtCore.QObject.connect(justify_dialog.pushButton_3,QtCore.SIGNAL("clicked()"),justify_dialog,QtCore.SLOT("done(2)"))
> would call widget.done(2) which exits the dialog and justify_dialog.exec_() 
> returning a 2. Although since it does not work I am more than happy to stand 
> corrected.

This should print a message on the terminal, as the connection cannot be
made. You cannot give argument values to slots when connecting them to
signals.

Andreas

-- 
You will hear good news from one you thought unfriendly to you.

_______________________________________________
PyKDE mailing list    PyKDE@mats.imk.fraunhofer.de
http://mats.imk.fraunhofer.de/mailman/listinfo/pykde

Reply via email to