【发布时间】:2014-09-11 19:11:57
【问题描述】:
我在QHBoxLayout 中打开了一张图片。我需要裁剪打开的图像并保存裁剪的图像。我如何在 PySide 中做到这一点?
import sys
from PySide import QtGui, QtCore
class Example(QtGui.QWidget):
def __init__(self):
super(Example, self).__init__()
self.initUI()
def initUI(self):
hbox = QtGui.QHBoxLayout(self)
pixmap = QtGui.QPixmap("re.png")
lbl = QtGui.QLabel(self)
lbl.setPixmap(pixmap)
self.rect = QtCore.QRect()
hbox.addWidget(lbl)
self.setLayout(hbox)
self.setGeometry(300, 300, 280, 170)
self.setWindowTitle('Open Image')
self.show()
# Tried here to implement Qpen
#self.painter = QtGui.QPainter(self)
#self.painter.setPen(QtGui.QPen(QtCore.Qt.black, 1, QtCore.Qt.SolidLine));
#self.painter.drawRect(self.rect);
def main():
app = QtGui.QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
【问题讨论】:
-
在 QHBoxLayout 中显示它对裁剪是否重要?您是否还想通过 QRubberBand 指定裁剪区域?
-
不,在
QHBoxLayout中显示裁剪并不重要。我只是想在布局中显示图像并裁剪并保存。如何使用`QRubberBand`? -
如果它比原则上不重要,您不需要显示您显示的任何代码。这将使问题更短,更容易理解和更好。但是,如果您希望用户选择裁剪区域,那么我建议您使用 QRubberBand。我没有找到任何好的例子。但是文档应该已经有所帮助或在这里提出问题。