You can't do that to an actual instance:

    import bpy
    bpy.types.Object.prop = bpy.props.IntProperty()
    
    bpy.context.active_object.prop
    # this evaluates what the value is and returns <class 'int'> - not subscriptable
    
[![enter image description here][1]][1]

To adjust the min max etc. you need to re-declare it:

    bpy.types.Object.prop = bpy.props.IntProperty(min=100, max=300)
    # note: re-declaring will change it for all the objects

Changing the `default` value will not change the actual value of that static property - you will need to assign it a new value in that case. But newly created objects will have this new default.

You can make it work like this:

1. create [callback function][2] for your `hT` property
2. have this function re-declare your `fW` property with new parameters based on `hT` value


  [1]: https://i.sstatic.net/j3XCA.png
  [2]: http://www.blender.org/api/blender_python_api_2_66_release/bpy.props.html#update-example