aboutsummaryrefslogtreecommitdiffstats
path: root/src/pyqt-example.py
diff options
context:
space:
mode:
authorOlivier Tilloy <olivier@tilloy.net>2010-01-08 09:24:41 +0100
committerOlivier Tilloy <olivier@tilloy.net>2010-01-08 09:24:41 +0100
commit9e00ddff83b1657ffafe5d390f49f096a5c4e2aa (patch)
tree500db33fc65624f5c3c9f8ddd6daa1dc2a86854f /src/pyqt-example.py
parent9fc5d1182b226f86ac50d2ace147505de97fb50b (diff)
downloadpyexiv2-9e00ddff83b1657ffafe5d390f49f096a5c4e2aa.tar.gz
Adapted the pyqt thumbnail example.
Diffstat (limited to 'src/pyqt-example.py')
-rwxr-xr-x[-rw-r--r--]src/pyqt-example.py69
1 files changed, 37 insertions, 32 deletions
diff --git a/src/pyqt-example.py b/src/pyqt-example.py
index f85d430..bcb06b4 100644..100755
--- a/src/pyqt-example.py
+++ b/src/pyqt-example.py
@@ -21,47 +21,52 @@
# along with pyexiv2; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, 5th Floor, Boston, MA 02110-1301 USA.
#
-#
-# File: pyqt-example.py
-# Author(s): Olivier Tilloy <olivier@tilloy.net>
+# Author: Olivier Tilloy <olivier@tilloy.net>
#
# ******************************************************************************
import sys
-import qt
-import pyexiv2
+from PyQt4 import QtGui
+from pyexiv2 import ImageMetadata
+
if __name__ == '__main__':
- """
- Example of how to combine pyqt and pyexiv2 to display thumbnail data.
+ """
+ Example of how to combine PyQt4 and pyexiv2 to display thumbnail data.
+
+ Minimalistic example of how to load and display with PyQt the thumbnail data
+ extracted from an image.
+ The path to the image file from which the thumbnail data should be extracted
+ should be passed as the only argument of the script.
+
+ It is of course assumed that you have PyQt4 installed.
+ """
+ if (len(sys.argv) != 2):
+ print 'Usage: ' + sys.argv[0] + ' path/to/picture/file/containing/jpeg/thumbnail'
+ sys.exit(1)
+
+ app = QtGui.QApplication([])
- Minimalistic example of how to load and display with pyqt the thumbnail data
- extracted from an image using the method Image.getThumbnailData().
- The path to the image file from which the thumbnail data should be extracted
- should be passed as the only argument of the script.
+ # Load the image, read the metadata and extract the thumbnail data
+ metadata = ImageMetadata(sys.argv[1])
+ metadata.read()
+ previews = metadata.previews
+ if not previews:
+ print "This image doesn't contain any thumbnail."
+ sys.exit(1)
- It is of course assumed that you have pyqt installed.
- """
- if (len(sys.argv) != 2):
- print 'Usage: ' + sys.argv[0] + ' path/to/picture/file/containing/jpeg/thumbnail'
- sys.exit(1)
- else:
- app = qt.QApplication([])
+ # Get the largest preview available
+ preview = previews[-1]
- # Load the image, read the metadata and extract the thumbnail data
- image = pyexiv2.Image(sys.argv[1])
- image.readMetadata()
- ttype, tdata = image.getThumbnailData()
+ # Create a pixmap from the thumbnail data
+ pixmap = QtGui.QPixmap()
+ pixmap.loadFromData(preview.data, 'JPEG')
- # Create a QT pixmap from the thumbnail data
- pixmap = qt.QPixmap()
- pixmap.loadFromData(tdata, 'JPEG')
+ # Create a QT label to display the pixmap
+ label = QtGui.QLabel(None)
+ label.setPixmap(pixmap)
- # Create a QT label to display the pixmap
- label = qt.QLabel(None)
- label.setPixmap(pixmap)
+ # Show the application's main window
+ label.show()
+ sys.exit(app.exec_())
- # Show the application's main window
- app.setMainWidget(label)
- label.show()
- app.exec_loop()