c++ - Qt Print Dialog reappears after Print button clicked -
i trying print graphic in qt.
the signals , slots connected follows :
connectstat = connect(_ui->printbutton, signal(clicked()), this, slot(doprint()));
and slot follows:
... qgraphicsscene * m_scene; ... void graphdrawerwidget::doprint() { qprinter printer; if (qprintdialog(&printer).exec() == qdialog::accepted) { printer.setorientation(qprinter::landscape); qpainter painter(&printer); painter.setrenderhint(qpainter::antialiasing); m_scene->render(&painter); } }
the print dialog appear, , can scene print clicking on print button. however, after this, print dialog showed again. doesn't matter if click print, cancel or window x button, still shows after click.
am possibly connecting signals/slots wrong?
found it! seems doing connect() in method called run() (graphdrawerwidget::run()) feeding data graphic.
this run() got called once each signal adding graphic, same slot connected multiple times.
i connecting in constructor , works fine.
Comments
Post a Comment