Hi David,
Thanks!!!
thanks for point me on how to solve my problem :-)
i know it is not only a pyqt ... biut more related to programming,
i'm a poor self teached student thanks for your example i'm now able
to go ahead
with my code!
now i'm coonecting :
doublespinbox using :
self.connect(self.DoubleSpinBox,
SIGNAL("valueChanged(double)"), self. external_class.setSpinBoxValue)
linEdit using :
self.connect(self.lineEdit, SIGNAL("textChanged(QString)"),
self.external_class.setLineEditValue)
now looking for combo-box widget too.
thanks again!!!
regards,
Massimo
Il giorno 22/giu/09, alle ore 20:01, David Boddie ha scritto:
On Sun Jun 21 17:37:54 BST 2009, Massimo Di Stefano wrote:
I'm tring to get a solution,
i searced for similar code in the pyqt examples source code
but i can't find nothig similar.
is the question i proposed comprensible?
It's a little difficult for me to understand, but I'll try and work
through
it step by step:
i can reproduce my problem with an example :
W-1 (spinbox + button) [ it is a main app, and has in the menu bar
an action to open W-2]
OK, I see this in your example.
W-2 (line edit + button)
Right. I see this when I select the process->run menu item.
i run W-1, pressing its button it increase the spinbox value,
then pressing the action from the menu -> open W-2
Yes, these work as expected. A question: what happens if the user
changes
the value in the spin box directly?
W-2 , at its start, read value from W-1 -- pressing the W-2 button
process W-1 value and print it .
When I click the button, I see the value from the spin box in the line
edit.
my problem :
i need that everitime i change the W-1 value ...
... when i press button in W-2 it will process the W-1(changed
value)
OK, so instead of passing a value when you create W-2, you want the
value
to be taken from the spin box in W-1 and written to the line edit?
Here are some changes I made to your code to do what I think you want.
Firstly, I create the Elab widget in the init() method of your
application
class instead of creating it later in the elaborazione() method.
This makes
it possible for me to connect a signal from the ZoomSpinBox to a
slot in
the widget.
[app.py]
[...]
def init(self):
self.w = GuiWidget()
self.Value = 0
self.query = Elab()
self.connect(self.w.p1, SIGNAL("clicked()"), self.inc)
self.connect(self.w.actionRun, SIGNAL("triggered()"),
self.elaborazione)
self.connect(self.w.ZoomSpinBox,
SIGNAL("valueChanged(double)"),
self.query.setValue)
self.w.show()
[...]
def elaborazione(self):
self.query.show()
I just show the Elab widget when the elaborazione() method is called.
In the Elab class, we no longer need to pass an initial value, but
you could
make the class take a value to begin with if you want. We don't want
to show
the widget immediately, so I removed a call to its show() method.
[elab.py]
class Elab(QWidget, Ui_Form):
def __init__(self):
QWidget.__init__(self)
self.setupUi(self)
self.value = 0
self.connect(self.p2, SIGNAL("clicked()"),self.elabora)
def elabora(self):
newvalue = str(self.value)+str('-----')
self.lineEdit.setText(newvalue)
print newvalue
def setValue(self, value):
self.value = value
I added the setValue() slot that we used in the app.py file. This
updates the
value held by this widget so that clicking the button causes an up-
to-date
value to be used.
Is this what you had in mind?
David
_______________________________________________
PyQt mailing list PyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt
_______________________________________________
PyQt mailing list PyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt