Vicent Mas schrieb:
Hi,

thanks for your answer. I've been working about the TypeError and I've found that the call

my_scrollbar.triggerAction(QtGui.QAbstractSlider.SliderSingleStepAdd)

works

but the (apparently equivalent) call

my_scrollbar.triggerAction(1)

fails raising the TypeError. However QAbstractSlider.SliderSingleStepAdd is supposed to have an integer value of 1, isn't it? At least this is what I understand when reading the Qt docs.

No, its an enum. It looks like int is not implicitly converted to the required enum type. Interesting. Probably there is more info in the SIP docs.

>>> from PyQt4.QtGui import *
>>> type(QAbstractSlider.SliderSingleStepAdd)
<class 'PyQt4.QtGui.SliderAction'>
>>> a = QAbstractSlider.SliderAction(1)
>>> type(a)
<class 'PyQt4.QtGui.SliderAction'>
>>> a == QAbstractSlider.SliderSingleStepAdd
True

So I think
my_scrollbar.triggerAction(QAbstractSlider.SliderAction(1))
will do what you want.

Even more, the actionTriggered SIGNAL passes integer values to the slot it is connected. So I supposed that I could use this values directly for triggering the same action in other scrollbar, but I cannot. Instead the constants names have to be used. Could you (or somebody else :-) tell me why?

Make sure your 'values' have the correct type - see above.

Regards
Georg







_______________________________________________
PyQt mailing list    [email protected]
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

Reply via email to