WordPress, alternative single post template

You could set a url parameter to change the display so that the URL could be the same, then have your QR code do a pass-through to the desired page. Without knowing how the QR codes are setup and such, I can’t offer much more on high-level implementation than that. The way to switch the templates would be as follows:

if( get_query_var( 'from_qr' ) == true )
    get_template_part( 'qr', 'single' );
else
    get_template_part( 'loop', 'single' );

You may want to use $_GET instead of get_query_var(), and you can structure that differently (I like get_template_part() because it makes the code easier to read and enhances my focus on SoC), but that’s the general idea.