<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">I have a QGraphicsView (under QMainWindow) with a pop-up QWidget for item properties which fades in with QGraphicsOpacity effect. The problem is that when I start the animation the outer frame border of the widget fades in as expected, but the contents of the widget remains transparent until I click somewhere on the window. Seem like a Qt bug.<br class=""><br class="">Thoughts?<div class=""><div class=""><pre class="markdown-highlight" style="box-sizing: border-box; word-wrap: break-word; overflow: auto; font-size: 13px; line-height: 1.42857143; color: rgb(51, 51, 51); font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; padding: 9.5px; margin-top: 1rem; margin-bottom: 10px; word-break: break-all; border: none; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px;"><code class="python hljs" style="box-sizing: border-box; font-size: inherit; padding: 0.5em; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; color: black; background-color: white; display: inline-block; overflow-x: auto; word-wrap: normal; min-width: 100%;">        self.effect = QGraphicsOpacityEffect(self)
        self.setGraphicsEffect(self.effect)
        self.opacityAnimation = QPropertyAnimation(self.effect, <span class="hljs-string" style="box-sizing: border-box; color: rgb(0, 136, 0);">b'opacity'</span>)
        self.opacityAnimation.setDuration(<span class="hljs-number" style="box-sizing: border-box; color: rgb(0, 102, 102);">300</span>)
        self.opacityAnimation.finished.connect(self.onOpacityDone)

    <span class="hljs-function" style="box-sizing: border-box;"><span class="hljs-keyword" style="box-sizing: border-box; color: rgb(0, 0, 136);">def</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">show</span><span class="hljs-params" style="box-sizing: border-box; color: rgb(102, 0, 102);">(self)</span>:</span>
        super().show()
        self.opacityAnimation.setStartValue(<span class="hljs-number" style="box-sizing: border-box; color: rgb(0, 102, 102);">0</span>)
        self.opacityAnimation.setEndValue(<span class="hljs-number" style="box-sizing: border-box; color: rgb(0, 102, 102);">1</span>)
        self.opacityAnimation.start()

    <span class="hljs-function" style="box-sizing: border-box;"><span class="hljs-keyword" style="box-sizing: border-box; color: rgb(0, 0, 136);">def</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">hide</span><span class="hljs-params" style="box-sizing: border-box; color: rgb(102, 0, 102);">(self)</span>:</span>
        self.person = <span class="hljs-keyword" style="box-sizing: border-box; color: rgb(0, 0, 136);">None</span>
        <span class="hljs-keyword" style="box-sizing: border-box; color: rgb(0, 0, 136);">if</span> self.opacityAnimation.finished():
            self.opacityAnimation.setStartValue(<span class="hljs-number" style="box-sizing: border-box; color: rgb(0, 102, 102);">0</span>)
            self.opacityAnimation.setEndValue(<span class="hljs-number" style="box-sizing: border-box; color: rgb(0, 102, 102);">1</span>)
            self.opacityAnimation.start()
        <span class="hljs-keyword" style="box-sizing: border-box; color: rgb(0, 0, 136);">else</span>:
            super().hide()

    <span class="hljs-function" style="box-sizing: border-box;"><span class="hljs-keyword" style="box-sizing: border-box; color: rgb(0, 0, 136);">def</span> <span class="hljs-title" style="box-sizing: border-box; color: rgb(102, 0, 102);">onOpacityDone</span><span class="hljs-params" style="box-sizing: border-box; color: rgb(102, 0, 102);">(self)</span>:</span>
        <span class="hljs-keyword" style="box-sizing: border-box; color: rgb(0, 0, 136);">if</span> self.opacityAnimation.currentValue() == <span class="hljs-number" style="box-sizing: border-box; color: rgb(0, 102, 102);">0</span>:
            super().hide()</code></pre><div class=""><br class=""></div></div></div></body></html>