繁体   English   中英

单击“打印”按钮后,重新出现“ Qt打印”对话框

[英]Qt Print Dialog reappears after Print button clicked

我正在尝试在Qt中打印图形。

信号和插槽的连接方式如下:

connectStat = connect(_ui->printButton, SIGNAL(clicked()), this, SLOT(doPrint()));

插槽如下:

...
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);
    }
}

确实会出现“打印”对话框,并且单击“打印”按钮可以使场景打印。 但是,执行此操作后,将再次显示打印对话框。 单击“打印”,“取消”或“ X窗口”按钮都没关系,单击后它仍然显示。

我可能将信号/插槽连接错了吗?

找到了! 看来我正在使用另一种称为run()(GraphDrawerWidget :: run())的方法进行connect(),这是我将数据馈入图形的地方。

对于我添加到图形中的每个信号,该run()都会被调用一次,因此同一插槽被连接了多次。

我现在正在连接构造函数,一切正常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM