QPushButton添加gif图标
来源:互联网 发布:便捷软件 编辑:程序博客网 时间:2024/05/20 05:25
#include <QtGui>class TOOTBtn : public QPushButton{ Q_OBJECTpublic: TOOTBtn(const QString &imgPath, const QString &label, QWidget *parent = 0 ) : QPushButton(parent), _label(label) { if(!imgPath.isEmpty()){ _movie = new QMovie(imgPath, QByteArray(), this); connect(_movie, SIGNAL(frameChanged(int)), this, SLOT(iconChged(int))); _movie->start(); } }private slots: void iconChged(int){ QTextDocument Text; Text.setHtml(_label); QPixmap currFrame = _movie->currentPixmap(); QPixmap pixmap(Text.size().width(), currFrame.height()); pixmap.fill( Qt::transparent ); QPainter painter( &pixmap ); painter.drawPixmap(( pixmap.width()-currFrame.width()) / 2 , ( pixmap.height()-currFrame.height()) / 2, currFrame ); Text.drawContents(&painter, pixmap.rect()); setIcon(QIcon( pixmap)); setIconSize(pixmap.rect().size()); }private: QMovie *_movie; QString _label;};#include "main.moc"int main(int argc, char *argv[]){ QApplication app(argc, argv); QWidget window; QString TOOTLabel = QObject::tr("<h2><i>Hello</i> <font color=red>TOOTzoe.com</font></h2>" "<b>Animating Button Test....<b>"); TOOTBtn btn("zoe.gif", TOOTLabel, &window); btn.move(100,100); window.show( ); window.resize(640,400); window.setWindowTitle("Animating Button Test...."); QObject::connect(&btn, SIGNAL(clicked()), &window, SLOT(close())); return app.exec();}
0 0
- QPushButton添加gif图标
- QPushButton上显示gif
- 给QPushButton添加二级菜单
- gif小图标
- QPushButton
- QPushButton
- QPushButton
- Qpushbutton
- QPushButton
- QPushButton
- Qt鼠标移入时改变QPushButton图标和颜色
- VS2008添加GIF资源
- flex添加gif图片
- Unity添加GIF动画
- 添加.gif图
- C# gif添加水印
- Qt学习之给QPushButton添加菜单ActionsContextMenu方法
- Qt学习之给QPushButton添加菜单CustomContextMenu方法
- Block type variables
- ./configure,make,make install的作用
- 实战Android手机客户端的家校通平台V1.0(SurfaceView实现统计图表)
- PHP裁剪图片
- 如何在TableLayout中均匀拉伸columns?
- QPushButton添加gif图标
- Server Tomcat v6.0 Server at localhost was unable to start within 45 seconds
- U-Boot启动第二阶段代码
- c++双冒号的作用
- selenium + Python 自动化环境搭建
- 设计模式心得(六) 依赖倒转原则
- Embedding asset types
- 汉诺塔递归实现[C代码]
- AFNetworking 初探