Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- import sys
- import PySide
- sys.modules['PyQt4'] = PySide # HACK for ImageQt
- from PySide import QtCore, QtGui
- import Image
- import ImageQt
- import ImageEnhance
- import time
- class TestWidget(QtGui.QWidget):
- def __init__(self, parent=None):
- QtGui.QWidget.__init__(self, parent)
- self.scene = QtGui.QGraphicsScene()
- self.view = QtGui.QGraphicsView(self.scene)
- self.button = QtGui.QPushButton("Do test")
- layout = QtGui.QVBoxLayout()
- layout.addWidget(self.button)
- layout.addWidget(self.view)
- self.setLayout(layout)
- self.button.clicked.connect(self.do_test)
- def do_test(self):
- img = Image.open('image.png')
- enhancer = ImageEnhance.Brightness(img)
- for i in range(1, 8):
- img = enhancer.enhance(i)
- self.display_image(img)
- QtCore.QCoreApplication.processEvents() # let Qt do his work
- time.sleep(0.5)
- def display_image(self, img):
- self.scene.clear()
- w, h = img.size
- self.imgQ = ImageQt.ImageQt(img) # we need to hold reference to imgQ, or it will crash
- pixMap = QtGui.QPixmap.fromImage(self.imgQ)
- self.scene.addPixmap(pixMap)
- self.view.fitInView(QtCore.QRectF(0, 0, w, h), QtCore.Qt.KeepAspectRatio)
- self.scene.update()
- if __name__ == "__main__":
- app = QtGui.QApplication(sys.argv)
- widget = TestWidget()
- widget.resize(640, 480)
- widget.show()
- sys.exit(app.exec_())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement