PictureFlow
1 January 2009
Comments
PictureFlow to widżet pozwalający na dość poręczny i efektowny sposób przeglądania zdjęć. Kod znajdujący się w repozytorium posiada API dla PyQt4. Wystarczy pobrać kod źródłowy (archiwum tar.gz):
svn export http://pictureflow.googlecode.com/svn/trunk/ pictureflow
Kompilacja i instalacja wygląda następująco:
- Wchodzimy do katalogu pictureflow-qt i wykonujemy polecenia: qmake, make i make install
- Przechodzimy do katalogu pyqt i wykonujemy polecenia: python configure.py, make, make install
import sys
from os import listdir
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from pictureflow import *
app = QApplication(sys.argv)
w = PictureFlow()
images = listdir('/ścieżka/do/katalogu/z/grafikami/')
for i in images:
if i.endswith('jpg'):
w.addSlide(QPixmap('/ścieżka/do/katalogu/z/grafikami/%s' % i))
w.show()
sys.exit(app.exec_())

Klasa PictureFlow
Poniżej definicja SIP klasy PictureFlowpublic: enum ReflectionEffect { NoReflection, PlainReflection, BlurredReflection }; PictureFlow(QWidget *parent /TransferThis/ = 0); ~PictureFlow(); QColor backgroundColor() const; void setBackgroundColor(const QColor& c); QSize slideSize() const; void setSlideSize(QSize size); int slideCount() const; QImage slide(int index) const; int centerIndex() const; ReflectionEffect reflectionEffect() const; void setReflectionEffect(ReflectionEffect effect); public slots: void addSlide(const QImage& image); void addSlide(const QPixmap& pixmap); void setSlide(int index, const QImage& image); void setSlide(int index, const QPixmap& pixmap); void setCenterIndex(int index); void clear(); void showPrevious(); void showNext(); void showSlide(int index); void render(); void triggerRender(); signals: void centerIndexChanged(int index); protected: void paintEvent(QPaintEvent *event); void keyPressEvent(QKeyEvent* event); void mousePressEvent(QMouseEvent* event); void resizeEvent(QResizeEvent* event);
RkBlog
Comment article