私は画像を切り取っているPyQt4でQRubberBandを使用しています。 x1、y1、x2、y2などのQRectに存在するすべての座標値が必要です。以下は、画像を切り取るためのマウスイベントの機能です。私はRECT印刷する場合リストにQRectの値を格納する方法
def mousePressEvent(self, QMouseEvent):
self.origin = QMouseEvent.pos()
self.rubberband.setGeometry(QtCore.QRect(self.origin, QtCore.QSize()))
self.rubberband.show()
def mouseMoveEvent(self, QMouseEvent):
self.x = int(QMouseEvent.x())
self.y = int(QMouseEvent.y())
text1 = str(self.x)
text2 = str(self.y)
print self.x,self.y
QtGui.QToolTip.showText(QMouseEvent.pos() , "X: "+text1+" "+"Y: "+text2,self)
if self.rubberband.isVisible():
self.rubberband.setGeometry(QtCore.QRect(self.origin, QMouseEvent.pos()).normalized() & self.image.rect())
def cropImage(self,rect,QMouseEvent):
self.image = self.image.copy(rect)
self.pic.setPixmap(QtGui.QPixmap.fromImage(self.image))
self.image.save(os.getcwd()+'/cropped.png')
self.update()
def mouseReleaseEvent(self, QMouseEvent):
if self.rubberband.isVisible():
self.rubberband.hide()
selected = []
rect = self.rubberband.geometry()
print rect
self.cropImage(rect,QMouseEvent)
、私は
PyQt4.QtCore.QRect(51, 122, 131, 185)
私の興味として出力を取得していますが、更なる処理のためのリストにこれらのQRect値を保存することです。
あなたはリスト – eyllanesc
でそれを救うことができますリストし、2番目の要素を印刷します。 'QRect'オブジェクトがインデックス作成をサポートしていないためにエラーが発生する –
2番目の要素はどういう意味ですか? – eyllanesc