2017-05-30 6 views
0

次のように窓がちょうど空に出てくる:なぜQPoligonFオブジェクトがQGraphicsSceneのpyqt4に表示されないのですか?

enter image description here

私は、この他の質問

  1. Why isn't the "rectangle" that I want to draw on my Qt widget showing up?

を見つけることができる。しかし、私は私の問題を解決する方法を見つけ出すことができませんでした、彼は私が使用している間にQWidgetを使用しているのでQGraphicsScene

from PyQt4 import QtGui, QtCore 

class MyFrame(QtGui.QGraphicsView): 
    """ 
     Python PyQt: How can I move my widgets on the window with mouse? 
     https://stackoverflow.com/questions/12213391/python-pyqt-how-can-i-move-my-widgets-on-the-window-with-mouse 
    """ 
    def __init__(self, parent = None): 
     super(MyFrame, self).__init__(parent) 

     scene = QtGui.QGraphicsScene() 
     self.setScene(scene) 
     self.resize(400, 240) 

     # http://pyqt.sourceforge.net/Docs/PyQt4/qpen.html 
     pencil = QtGui.QPen(QtCore.Qt.black, 2) 
     pencil.setStyle(QtCore.Qt.SolidLine) 

     polygon = QtGui.QPolygonF([ QtCore.QPointF(250, 100), QtCore.QPointF(400, 250), QtCore.QPointF(300, 150) ]) 
     brush = QtGui.QBrush(QtGui.QColor(125, 125, 125, 125)) 
     scene.addPolygon(polygon, pencil, brush) 

if (__name__ == '__main__'): 
    app = QtGui.QApplication([]) 
    f = MyFrame() 
    f.show() 
    app.exec_() 

答えて

1

問題は表示されませんが、ポリゴンの一部である点は同一直線上にあるため、ポリゴンは線になります。私は、次を示すQtCore.QPointF(200, 150)に第三の点を変更した:

polygon = QtGui.QPolygonF([QtCore.QPointF(250, 100), QtCore.QPointF(400, 250), QtCore.QPointF(200, 150) ]) 

enter image description here

関連する問題