簡體   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