[PyQt] setting a uniform value

Phil Thompson phil at riverbankcomputing.com
Mon Aug 15 09:48:00 BST 2011


On Sun, 14 Aug 2011 15:40:00 -0700, Josh Stratton
<strattonbrazil at gmail.com> wrote:
> I really need to add an entire program?  I'm passing a
> QGLShaderProgram and QMatrix4x4 and getting an "argument doesn't
> exist".  Would an entire program really provide that much more
> information?

Yes, otherwise I wouldn't have asked. Read
http://www.riverbankcomputing.com/support/help

You should also provide appropriate version numbers.

Phil

> On Sun, Aug 14, 2011 at 2:45 PM, Phil Thompson
> <phil at riverbankcomputing.com> wrote:
>> On Sun, 14 Aug 2011 13:14:20 -0700, Josh Stratton
>> <strattonbrazil at gmail.com> wrote:
>>> I'm getting type errors sending a QMatrixr4x4 to a QGLShaderProgram.
>>> The program was taken from a C++ version of comparable code, but I'm
>>> assuming I need to do something more on the pyqt side to get the value
>>> passed over correctly?
>>
>> No.
>>
>>> objToWorld = QMatrix4x4()
>>> flatShader.setUniformValue("objToWorld", objToWorld)
>>>
>>> flatShader.setUniformValue("objToWorld", objToWorld)
>>> TypeError: arguments did not match any overloaded call:
>>>   QGLShaderProgram.setUniformValue(int, int): argument 1 has
>>> unexpected type 'str'
>>>   QGLShaderProgram.setUniformValue(int, float): argument 1 has
>>> unexpected type 'str'
>>>   QGLShaderProgram.setUniformValue(int, float, float): argument 1 has
>>> unexpected type 'str'
>>>   QGLShaderProgram.setUniformValue(int, float, float, float): argument
>>> 1 has unexpected type 'str'
>>>   QGLShaderProgram.setUniformValue(int, float, float, float, float):
>>> argument 1 has unexpected type 'str'
>>>   QGLShaderProgram.setUniformValue(int, QVector2D): argument 1 has
>>> unexpected type 'str'
>>>   QGLShaderProgram.setUniformValue(int, QVector3D): argument 1 has
>>> unexpected type 'str'
>>>   QGLShaderProgram.setUniformValue(int, QVector4D): argument 1 has
>>> unexpected type 'str'
>>>   QGLShaderProgram.setUniformValue(int, QColor): argument 1 has
>>> unexpected type 'str'
>>>   QGLShaderProgram.setUniformValue(str, QTransform): argument 2 has
>>> unexpected type 'PyQt4.QtCore.pyqtWrapperType'
>>>   etc.
>>
>> A short, complete program to demonstrate the problem would help.
>>
>> Phil
>>


More information about the PyQt mailing list