나는 메트로 (Windows 8) 스타일의 파이썬 데스크탑 응용 프로그램을 가지고 있기 때문에 어떤 것을하기 위해 클릭 할 수있는 사각형의 테이블을 가지고있다.PySide metro style mousepressevent
는이 같은 사각형 (MyIcon)의 테이블 생성 :
for sub_rectx in xrange(4):
for sub_recty in xrange(3):
tmp = MyIcon(sub_rectx*322, sub_recty*192, 300, 170, sub_recty+3*sub_rectx + 1, parent=parent)
을 나는 기본적으로 ID를 가진 직사각형 내 클래스가 있습니다
class MyIcon(MyPanel):
def __init__(self, x, y, width, height, ide, parent=None):
super(MyPanel, self).__init__(parent)
QtGui.QGraphicsRectItem.__init__(self, x, y, width, height, parent)
self.ide = ide
def mousePressEvent(self, event):
self.setBrush(QtGui.QColor(255, 255, 255))
print self.ide
이 코드는 좋은 작품을 처음에 직사각형을 클릭하고 올바른 ID를 인쇄하고 올바른 직사각형의 색상을 변경했지만 다음 번에 내가 클릭 한 첫 번째 직사각형의 ID를 항상 인쇄하고있는 사각형을 클릭하면 색상이 변경되지 않습니다. 그것이 다시 같은 직사각형을 그리기 때문에 가정해라. gle도).
아무도 도와 줄 수 있습니까? 당신이 최고 (..)를 호출 할 때 첫 번째 매개 변수 (MyIcon
하지 MyPanel
)와 같은 현재의 클래스를 통과해야
1) :