0

私は自分のgraphicsViewにぼかし効果を追加しようとしていますが、効果を適用するにはアクションを2回トリガーする必要があります.最初にトリガーすると、graphicsViewの境界線に効果が適用され、2番目のトリガーでscene.Hereは私のコードです(カラー化効果と同じです):

void MainWindow::on_actionBlur_triggered()
{
    QGraphicsBlurEffect *a=new QGraphicsBlurEffect;
    a->setBlurHints(QGraphicsBlurEffect::QualityHint);
    a->boundingRectFor(ui->graphicsView->viewport()->rect());
    ui->graphicsView->setGraphicsEffect(a);
}

間違いを見つけるか、これを行うための別の方法を提案できますか?

4

2 に答える 2

0

別のアイデアがあります。コンストラクターで QGraphicsView を QGraphicsBlurEffect に渡す必要があります。

QGraphicsBlurEffect* a = new QGraphicsBlurEffect(ui->graphicsView);

機能しない場合は、mainWindow または「this」で試してください。

于 2016-02-09T08:01:14.577 に答える