What happens if you use a PrintDialog instead? Something like
Qt Code:
  1. QPrintDialog dialog(printer, this);
  2. if (dialog.exec() == QDialog::Rejected) {
  3. return;
  4. }
To copy to clipboard, switch view to plain text mode 
Does it show a list of printers attached to the computer?