Requirements: Wayland environment with slurp, grim, zbarimg installed

selected_area=$(slurp) && grim -g "$selected_area" - | zbarimg - | tee >(notify-desktop "QR Code Captured" "$(cat)") | wl-copy;

Explanation:

selected_area=$(slurp) && grim -g "$selected_area" - | # User selects an area and grim takes screenshot of it
  zbarimg - | # QR code value is extracted from it
  tee >(notify-desktop "QR Code Captured" "$(cat)") | # Copy the output and make a notification out of it
  wl-copy; # Also add the value to your clipboard