qt4 html,qt4 – 在QLabel中显示.gif动画

你可以添加一个布局到标签,然后添加另一个标签与文本…

self.status_txt = QtGui.QLabel()

movie = QtGui.QMovie("etc/loading.gif")

self.status_txt.setMovie(movie)

movie.start()

self.status_txt.setLayout(QtGui.QHBoxLayout())

self.status_txt.layout().addWidget(QLabel('Loading...'))

编辑:

如果您使用自己版本的QLabel和QPainter自行绘制文本,则可以:

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_()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值