Assuming the GATT server on the other end has a characteristic that allows for Indicate, then the only thing that needs to change is the value that you write to the descriptor. Set Bit 1 of the CCC to enable indicates by writing "0200" instead of "0100" (the descriptor is little-endian according to the BLE documentation for the Client Characteristic Configuration descriptor).
As far as I know, indications are delivered with the characteristicChanged signal just like notifications.
I know this question is old, but it seems noone is answering BLE related questions here. (I've just posted such a question myself, and fear noone will anwer it either).
I developed an app based on the same example, and it worked fine under both android 4.3.2, 5.1.2, and 6.0. However, the customer came with an android 5.01, and sure enough, the app did not work as expected. It seemed to "hang" and tried to connect to two devices at the same time, etc. We did not investigate it further. This was with Qt 5.6, so the issue is not resolved, and may never be, since with newer versions of Android it is working fine.
while developing new example app for BT LE and Qt 5.8 using QtQuickControls2 for Android, iOS I also run into GATT ERROR 133
googled and found out that this bug iseems not to be a Qt Bug.
some more infos here:
of course would be great if Qt could handle error 133
if getting a QLowEnergyController::ConnectionError I try to reconnect up to 5 times with a delay of 1000ms
In most cases 2nd or 3rd retry will connect without the error.