Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from PyQt4.QtCore import QSize
- from PyQt4.QtGui import QApplication, QLabel, QMovie, QPainter, QFontMetrics
- class QTextMovieLabel(QLabel):
- def __init__(self, text, fileName):
- QLabel.__init__(self)
- self._text = text
- m = QMovie(fileName)
- m.start()
- self.setMovie(m)
- def setMovie(self, movie):
- QLabel.setMovie(self, movie)
- s=movie.currentImage().size()
- self._movieWidth = s.width()
- self._movieHeight = s.height()
- def paintEvent(self, evt):
- QLabel.paintEvent(self, evt)
- p = QPainter(self)
- p.setFont(self.font())
- x = self._movieWidth + 6
- y = (self.height() + p.fontMetrics().xHeight()) / 2
- p.drawText(x, y, self._text)
- p.end()
- def sizeHint(self):
- fm = QFontMetrics(self.font())
- return QSize(self._movieWidth + 6 + fm.width(self._text),
- self._movieHeight)
- def setText(self, text):
- self._text = text
- if __name__ == '__main__':
- import sys
- app = QApplication(sys.argv)
- l = QTextMovieLabel('Loading...', 'loading.gif')
- l.show()
- app.exec_()
Add Comment
Please, Sign In to add comment