If the general practice is use to different bitcoin address for every new transaction, does it mean that merchant in a retail store that accepts bitcoins has to change his QR code for every new customer in the line. Would it not increase the checkout time for consumers significantly
Why should it increase the checkout time? In such a situation, the QR code would normally be displayed on a computer or tablet screen, not printed on paper, so a new one can easily be displayed for each customer. Generating a new Bitcoin address doesn't take much time - a few milliseconds, maybe - and can be incorporated into the merchant's point-of-sale software so that it happens automatically as soon as the clerk touches the "customer paying with Bitcoin" button. Alternatively, the addresses can be generated ahead of time and used one by one, which would be even faster.
The merchant does have to keep track of a separate private key for each address; but this is easily handled by software. Bitcoin wallets are designed to efficiently handle large numbers of private keys, and automatically select coins from the many available addresses when sending a transaction.
What would increase the checkout time is if the merchant feels it's necessary to wait for one or more confirmations of the transaction. Each confirmation takes, nominally, an average of ten minutes. Most people assume that this wouldn't be used for small purchases; for large purchases, the customer might be asked to wait after sending the coins (but of course other customers can be served in the meantime).