1

QGraphicsProxyWidgetを使用してQSpinBoxをQGraphicsSceneに追加しました。QSpinBoxにカーソルを合わせるたびに、スピンボックスコントロールに黒い帯が重なってちらつきます。以下のスクリーンショットとコードを添付しました。私は何か間違ったことをしていますか?これを回避する方法はありますか?Pyside 1.1.2、Python 2.7、Windows7。

ホバー時に点滅するQSpinBox

class testWidget(QGraphicsView):
    def __init__(self):
        QGraphicsView.__init__(self)

        floorSpinBox = QSpinBox()
        floorSpinBox.setGeometry(0,0,50,25)

        proxyWidget = QGraphicsProxyWidget() 
        proxyWidget.setWidget(floorSpinBox)

        scene = QGraphicsScene(self)
        scene.addItem(proxyWidget)
        self.setScene(scene)

if __name__ == "__main__":
    app = QApplication(sys.argv)
    widget = testWidget()
    widget.show()
    app.exec_()

編集

どうやらここに提出されたバグレポートがあります:Bugreport。私は最終的にを下ではなくQSpinBox通常に追加する必要がありました。QWidgetQGraphicsView

4

1 に答える 1

0

なぜスピンボックスを入れるのQGraphicsSceneですか?これはかなり奇妙に思えます。不思議な理由はないが、機能的で点滅しないUI要素が必要な場合は、testWidgetをのQDialog代わりに作成してみてくださいQGraphicsView

from PyQt4.QtGui import QDialog, QSpinBox,QApplication
import sys

class testWidget(QDialog):
    def __init__(self):
        QDialog.__init__(self)
        self.setGeometry(200,200,200,100)

        floorSpinBox = QSpinBox(self)
        floorSpinBox.setGeometry(75,40,50,25)

if __name__ == "__main__":
    app = QApplication(sys.argv)
    widget = testWidget()
    widget.show()
    app.exec_()
于 2012-10-04T22:15:12.257 に答える