私はゴーゲームの実装を書いて自分自身にパイソンを教えようとしています。 ストーンのためのカスタムQGrapicsItemを作成したいと思います。私のカスタムQGraphicsItemが意図した座標に表示されないのはなぜですか?
現時点では、指定された座標(テスト)を中心とした円のみを描画します。 何らかの理由で、アイテムがシーンの異なる座標に表示されます。 違う言い方をすれば、ボード上の線のグリッドをシーンに描画し、グリッドに使用したのと同じ座標で私の石のアイテムを呼び出すが、それは意図したグリッドポイントに現れない。
StoneItemのための私のコード:コード全体がhttps://github.com/drseilzug/GoGote/blob/master/GoGote/BoardGUI.py
で発見することができ、より状況については
from PyQt5.QtWidgets import QGraphicsItem
from PyQt5.QtCore import QRectF
class Stone(QGraphicsItem):
"""
A Go stone QGraphicsItem
x, y :: center Coords of Stone
rad :: radius
color:: the stone type
0, self.empty :: empty
1, self.black :: black
2, self.white :: white
"""
empty = 0
black = 1
white = 2
def __init__(self, x, y, rad, color):
super().__init__()
self.x = x
self.y = y
self.rad = rad
self.color = color
self.setPos(x, y)
def boundingRect(self):
rect = QRectF(-self.rad, -self.rad,
self.rad, self.rad)
return rect
def paint(self, painter, *args, **kwargs):
painter.drawEllipse(self.boundingRect())
私はまだPyQt5にかなり新しいだと私は理解するのに役立ちます説明と解決策私が間違っていたところは、とても感謝しています。
は、私は私の誤りを見つけた drseilzug