Al poner la fuente como Courier New, todos los caracteres son igual de anchos, así que podemos usar algo como:
Código Delphi
[-]
MaxLeft:0;
Tama:=0;
query:=Select NombreCampo, longitud from campos
open;
while not query.Eof do
begin
tama := query.fieldbyname('longitud').asinteger *10; with TQRlaBel.create(self) do
begin
name:= 'L' + query.fieldbyname('nombrecampo').FieldName; Font.Name := 'Courier New';
AutoSize:= False;
Left:= MaxLeft;
width:= tama;
....
....
MaxLeft:= MaxLeft + tama + 5; query.next;
end;
end;
Suponiendo que un caracter son 10 pixeles de ancho, (es cuestion de hacer un par de pruebas para saber el ancho real).
Sabiendo lo anterior, ya podemos asignar los qrLabel.Left para que no se solapen unos con otros.
Saludos y suerte, que QuickReports es muy suyo
.