While certain libraries found on this forum for reading barcodes (including QRCodes) are better than others, a QRCode is certainly the one to go with. I've found that QRCodes are the easiest, quickest and most 'forgiving' to read.
Other than that, it really comes down to the camera in the phone/tablet as to how well it will do in low-light situations, not B4A or the library used. The exact same B4A code used in 2 different devices can produce wildly different results in challenging environments.
The absolute best in low-light is to use a 1D barcode and laser scanner instead of the QRCode and camera.