我在网上找了很久,把他综合了一下

不说了关键代码来了;(这是一张图片切图的效果)

  1. void SetButtonStyle(QPushButton *button, QString imgsrc, int CutSec)
  2. {
  3. int img_w=QPixmap(imgsrc).width();
  4. int img_h=QPixmap(imgsrc).height();
  5. int PicWidth = img_w/CutSec;
  6. button->setFixedSize(PicWidth,img_h);
  7. button->setStyleSheet(QString("QPushButton{border-width: 41px; border-image: url(%1)  0 0 0 %2 repeat  repeat;border-width: 0px; border-radius: 0px;}")
  8. .append("QPushButton::hover{border-image: url(%1) 0 0 0 %3  repeat  repeat;}")
  9. .append("QPushButton::pressed{border-image: url(%1) 0  0 0 %4 repeat  repeat;}")
  10. .append("QPushButton::checked{border-image: url(%1) 0  0 0 %4 repeat  repeat;}")
  11. .append("QPushButton::disabled{border-image: url(%1) 0  0 0 %5 repeat  repeat;}")
  12. .arg(imgsrc).arg(0).arg(PicWidth*1).arg(PicWidth*2).arg(PicWidth*3));
  13. }

调用

  1. SetButtonStyle(ui->pushButton,":/btn/image/btn.png",4);

效果图

(资源)

还有一种方式就是三张独立的图片

    1. ui->pushButton->setStyleSheet("QPushButton{border-image: url(:/btn/image/1.png);}"
    2. "QPushButton:hover{border-image: url(:/btn/image/3.png);}"
    3. "QPushButton:pressed{border-image: url(:/btn/image/2.png);}");

最新文章

  1. squid 2.7 配置与安装
  2. 创建WordPress管理员账号
  3. 史上最全的Python电子书教程资源下载(转)
  4. Spring MVC异常处理详解
  5. linux中安装eclipse,安装好之后不能直接建servlet,不能直接在jsp页面中run on server.权限在作怪,我猜的,
  6. 二、JavaScript语言--JS实践--倒计时效果
  7. SQL语句 - 数据操作
  8. https协议
  9. 以一个上传文件的例子来说 DistributedFileSystem
  10. 常用的css的技巧
  11. .Net Core 学习资料
  12. 前端系列之JavaScript基础知识概述
  13. 【Unity技巧】LOGO闪光效果
  14. SQL Server 优化
  15. 02 of learning python
  16. ARMCC和GCC编译ARM代码的软浮点和硬浮点问题 【转】
  17. sybench压测下模拟误truncate数据恢复
  18. TOP100summit【分享实录-网易】构建云直播分发网络
  19. JMeter:全面的乱码解决方案
  20. python面试题(转自https://www.cnblogs.com/wupeiqi/p/9078770.html)

热门文章

  1. IOS UIActionSheet的使用方法
  2. access数据库 top语句失效解决方法
  3. Qt容器类的对象模型及应用(线性结构篇)(好多图,比较清楚)
  4. Linux升级Python提示Tkinter模块找不到解决
  5. js 精美倒计时
  6. Xcode 插件优缺点对比(推荐 20 款插件)
  7. fieldset效果
  8. 深入浅出—JAVA(7)
  9. 高级UNIX环境编程2
  10. 转: requirejs压缩打包r.js使用示例 2 (~~很详细的教程)