我正在尝试在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”按钮无关紧要,单击后仍会显示。
我可能错误地连接信号/插槽吗?
答案 0 :(得分:2)
对于我添加到图形中的每个信号,此run()被调用一次,因此多次连接相同的插槽。
我现在在构造函数中连接,一切正常。