首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将QRect的值存储到列表

如何将QRect的值存储到列表
EN

Stack Overflow用户
提问于 2017-03-25 06:39:10
回答 2查看 3.5K关注 0票数 1

我在PyQt4中使用PyQt4,在其中剪切图像。我需要QRect中所有的坐标值,如x1,y1,x2,y2。下面是用于剪切图像的鼠标事件的几个功能。

代码语言:javascript
复制
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)

如果我打印rect,我得到的输出是

代码语言:javascript
复制
PyQt4.QtCore.QRect(51, 122, 131, 185)

我感兴趣的是将这些QRect值保存在list中以供进一步处理。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-25 06:55:21

如果您有以下对象rect = QRect(x, y, w, h),则可以使用以下函数获取每个项:

代码语言:javascript
复制
x = rect.x()
y = rect.y()
w = rect.width()
h = rect.height()

示例:

代码语言:javascript
复制
from PyQt4 import QtCore, QtGui
import sys

app = QtGui.QApplication(sys.argv)
rect = QtCore.QRect(51, 122, 131, 185)
x = rect.x()
y = rect.y()
w = rect.width()
h = rect.height()
print(x, y, w, h)
sys.exit(app.exec_())
票数 1
EN

Stack Overflow用户

发布于 2019-12-19 15:27:28

使用getRect()方法的QRect

代码语言:javascript
复制
from PyQt5.QtCore import QRect

rect = QRect(51, 122, 131, 185)
print(rect.getRect())

打印(51, 122, 131, 185)

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43013377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档