目录

  • 一、控制QPushButton中图片位置
  • 二、QPushButton中文字位置
  • 三、同时控制QPushButton的图片和文字位置

在用QPushButton的qss的时候,发现其实可以手动控制图片和文字的位置,而不用再在paintEvent里去画图片和文字,从而控制其位置。

看看效果:

一、控制QPushButton中图片位置

效果:

首先我们看利用qss如何控制图片位置

QPushButton {background-color: #60C171;background-image: url(:/images/home_small.png);background-origin: content;background-position: top;padding-top: 2px;background-repeat: no-repeat;
}

其中最重要的一个是 background-origin: content; 这个是相对内容进行定位,具体可以参考关于CSS3 background-origin属性

background-position: top;

这里的background-position的值可以是一个值,比如left top right bottom center中的一个,也可以是两者的组合,比如left top,right bottom等,具体大家试一下效果,就知道了。

QPushButton中的图片位置,关键点为:

background-origin: content;
/*下面两个属性控制图片的对齐方式和间距*/
background-position: top;
padding-top: 2px;/*或者通过水平和垂直对齐方式来控制*/
background-position: left bottom;
padding-left: 2px;
padding-bottom: 2px;

通过水平和垂直对齐方式,以及padding的值,就能很好的控制QPushButton中图片的位置。

qss为:

QPushButton#pushButton_1 {background-color: #60C171;background-image: url(:/images/home_small.png);background-origin: content;background-position: top;padding-top: 2px;background-repeat: no-repeat;
}QPushButton#pushButton_2 {background-color: #60C171;background-image: url(:/images/home_small.png);background-origin: content;background-position: left;padding-left: 2px;background-repeat: no-repeat;
}QPushButton#pushButton_3 {background-color: #60C171;background-image: url(:/images/home_small.png);background-origin: content;background-position: left bottom;padding-left: 2px;padding-bottom: 2px;background-repeat: no-repeat;
}QPushButton#pushButton_4 {background-color: #60C171;background-image: url(:/images/home_small.png);background-origin: content;background-position: right top;padding-right: 2px;padding-top: 2px;background-repeat: no-repeat;
}

二、QPushButton中文字位置

效果图:

QPushButton#pushButton_5 {background-color: #60C171;text-align: top;padding-top: 8px;font-size: 12px;color: #FFFFFF;
}QPushButton#pushButton_6 {background-color: #60C171;text-align: left;padding-left: 8px;font-size: 12px;color: #FFFFFF;
}QPushButton#pushButton_7 {background-color: #60C171;text-align: left top;padding-left: 2px;padding-top: 2px;font-size: 12px;color: #FFFFFF;
}QPushButton#pushButton_8 {background-color: #60C171;text-align: right bottom;padding-right: 2px;padding-bottom: 2px;font-size: 12px;color: #FFFFFF;
}

同样的 text-align: right bottom; 也支持水平和垂直两个值,也可以 text-align: right;

三、同时控制QPushButton的图片和文字位置

就是将控制QPushButton中的图片和文字方式进行任意组合

目前就列举了几种情况:

QPushButton#pushButton_9 {background-color: #60C171;background-image: url(:/images/home_small.png);background-origin: content;background-position: left top;padding-left: 2px; /*利用padding-left和padding-top来控制image的位置*/padding-top: 2px;background-repeat: no-repeat;background-color: #60C171;text-align: right bottom;padding-right: 2px; /*利用padding-right和padding-bottom来控制文字的位置,这样不至于属性被覆盖*/padding-bottom: 2px;font-size: 12px;color: #FFFFFF;
}QPushButton#pushButton_10 {background-color: #60C171;background-image: url(:/images/home_small.png);background-origin: content;background-position: right bottom;padding-right: 2px;padding-bottom: 2px;background-repeat: no-repeat;background-color: #60C171;text-align: left top;padding-left: 2px;padding-top: 2px;font-size: 12px;color: #FFFFFF;
}QPushButton#pushButton_11 {background-color: #60C171;background-image: url(:/images/home_small.png);background-origin: content;background-position: top;padding-top: 2px;background-repeat: no-repeat;background-color: #60C171;text-align: bottom;padding-bottom: 2px;font-size: 12px;color: #FFFFFF;
}QPushButton#pushButton_12 {background-color: #60C171;background-image: url(:/images/home_small.png);background-origin: content;background-position: left;padding-left: 2px;background-repeat: no-repeat;background-color: #60C171;text-align: right;padding-right: 2px;font-size: 12px;color: #FFFFFF;
}

代码下载:
百度云
链接:https://pan.baidu.com/s/1wqZXgGM_xT2cjnQ8ZMhYyw
提取码:bsgw

参考;
QPushButton通过Qss控制背景图片位置

关于CSS3 background-origin属性

Qss样式的盒子模型

利用QSS自由控制QPushButton中图片和文字的位置相关推荐

  1. web手势库AlloyFinger运用( 控制CANVAS中图片移动、缩放、旋转) - 可编辑图片指定区域位置

    注: 苹果手机升级IOS14.1系统后,出现图片写入不了CANVAS画布问题 解决方法:alloy_paper.js 文件查找代码: this.img.crossOrigin = "Anon ...

  2. 在线提取PDF中图片和文字

    无需下载软件,你就可以在线提取PDF中图片和文字,http://www.extractpdf.com/不仅可以获取本地PDF文档的图片和文字,还能获取远程PDF文档的图片和文字. 结果本人测试,该工具 ...

  3. 设置html里面图片和文字的位置

    如何设置html里面图片和文字的位置 1.首先是图片 <style type="text/css">body{ background-image:url("s ...

  4. css3控制html中图片,精选4款用纯CSS3绘制的有趣图形

    今天我们要来分享一些设计非常独特的人物和动物动画效果,它们都是通过HTML5和CSS3制作而成,有一些动画是利用纯CSS3实现的,一起来看看. 1.纯CSS3绘制可爱的蚱蜢 今天我们要分享一个利用纯C ...

  5. latex中图片和文字并列排放讲解

    这篇文章中介绍了使用minipage的方式混排图片和文字,达到图片在右侧,文字在左侧的效果. 注意minipage可以当做一个page来使用,它独立成为一个单元,里面可以添加figure, tabul ...

  6. 提取docx中图片,文字,表格元素

    简介: 公司写项目时需要对word文档做上传然后展示操作,所以写了个工具类来实验下,顺便感谢其他那些写过此类博客的人,百度好几篇才解决其中一些问题 话不多说,先介绍下思路,我是将word中文字,表格, ...

  7. HTML中图片和文字的对齐方式

    文字和图片的对齐方式会影响到页面的整体效果,之前没有仔细研究过. <!doctype html> <html lang="en"> <head> ...

  8. css3控制html中图片,如何使用CSS控制前端图片HTTP请求

    Web前端图片加载的方式多种多样,其所产生的HTTP请求也各异,这里我们就来列举CSS控制前端图片HTTP请求的各种情况示例,需要的朋友可以参考下 图片的http请求,有很多种情况,那么究竟什么情况下 ...

  9. EXCEL利用VBA自由控制图表绘图区大小

    用好VBA的话确实可以给你再办公室的工作效率带来质的提升.如果有人跟你说你可以用Python什么的语言处理Excel balabala的,你可以无视他了.当然python可以处理很多事情,但是EXCE ...

最新文章

  1. Vlan间路由实验(单臂路由实现法)
  2. SpringMVC中重定向
  3. mvc html的扩展,关于asp.net mvc 3:Razor无法正确呈现HtmlHelper扩展方法
  4. 不是程序员学python有什么用-程序员的基本功:为什么非要用Python,其他语言不好吗?...
  5. python与excel的区别-python比较两个excel表格的差异
  6. C#读写xml文件最简单方法(操作配置文件)
  7. JavaScript原型链的理解
  8. Java8函数式编程(2)--流与管道
  9. fatal: unable to access ‘https://github.com/PanJiaChen/vue-element-admin.git/‘: OpenSSL SSL_read: Co
  10. 基于树的模型的机器学习
  11. jira集成开发代码_7种JIRA集成可优化您的Java开发流程
  12. 如何构建自己的SIP SERVER!
  13. Spark基础学习笔记07:搭建Spark HA集群
  14. UART接口算法移植加密芯片的调试技巧——算法调试
  15. 模幂运算问题,使用朴素算法和重复-平方算法(快速幂+C#计算程序运行时间)
  16. 利用ST MCU内部的基准参考电压监测电源电压及其它
  17. tf改善_如何衡量和改善自动常见问题解答
  18. 普乐蛙4d5d动感影院|VR太空旅行设备|VR带你遨游太空
  19. 微信获取授权用户手机号
  20. 离职半年了,老东家又发 offer,回不回?

热门文章

  1. stm32芯片smartcard功能开发(接触式IC卡)
  2. 设计模式-依赖倒置原则
  3. web期末大作业设计网页: 餐饮主题——火锅食品餐饮网站设计(11页) HTML+CSS+JavaScript HTM5网页设计作业成品
  4. 软考笔记(3)——浮点数
  5. 世界10大物流公司介绍
  6. oracle怎么增量备份,Oracle 增量备份
  7. 关于c语言报错error C4996: ‘scanf‘: This function or variable may be unsafe.
  8. 数据结构考研复习知识点梳理(自用非408)第一章
  9. System.getProperties()与System.getenv()
  10. 什么是线程池以及它的作用是什么?