you have to use data defined overrides for that, see picture below

[![enter image description here][1]][1]

if you want to take the opacity field in count, we have to change the data defined override and use an expression to put the separate opacity and color fields together. QGIS is expecting the opacity information within the color value as an alpha value between 0 and 100. The expression then would be:

    set_color_part( "fill",'alpha', "fill-opacity" *100)
in the data defined override dialog select "edit" and enter the expression:

[![enter image description here][2]][2]


  [1]: https://i.sstatic.net/YOYmh.png
  [2]: https://i.sstatic.net/ZWCUc.png