[英]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.