QSS定制自定义QSlider
来源:互联网 发布:防火墙拦截udp端口 编辑:程序博客网 时间:2024/05/08 13:30
转自:http://blog.csdn.net/sdljlcming/article/details/8306356
QSlider中有四个比较重要的辅助控制器(subcontrol),groove表示槽的部分,handle表示滑块,add-page表示未滑过的槽部分,sub-page表示已滑过的槽部分。在辅助控制器后面可以设置状态,horizontal就是QSS生效的QSlider的状态,注意这里设置的方向一定要和slider对象的方向一致,如果slider是vertical的,QSS设定的是horizontal的,那么是看不到效果的。
进行QSlider设计时,groovy的左右一定要留有一定的空间,这样是防止滑块滑到两端时被遮盖,所以groovy需要设置left和right属性。
"QSlider::groove:horizontal "
"{ "
" border: 10px solid #999999; "
" height: 5px; "
" margin: 0px 0; "
" left: 12px; right: 12px; "
" border-image:url(:/file/images/process.png); "
" } "
"{ "
" border: 10px solid #999999; "
" height: 5px; "
" margin: 0px 0; "
" left: 12px; right: 12px; "
" border-image:url(:/file/images/process.png); "
" } "
滑块方面,如果设计的是突出的滑块,需要指定margin或者border为负值进行外扩即可。
"QSlider::handle:horizontal "
"{ "
" border: 1px solid #5c5c5c; "
" border-image:url(:/file/images/pd.png); "
" width: 18px; "
" margin: -7px -7px -7px -7px; "
" } "
"{ "
" border: 1px solid #5c5c5c; "
" border-image:url(:/file/images/pd.png); "
" width: 18px; "
" margin: -7px -7px -7px -7px; "
" } "
m_slider->setStyleSheet(
"QSlider::groove:horizontal "
"{ "
" border-image:url(:/file/images/process.png); "
" border: 10px; "
" height: 5px; "
" margin: 0px; "
" left: 18px; right: 18px; "
" } "
"QSlider::handle:horizontal "
"{ "
" border-image:url(:/file/images/pd.png); "
" border: 1px; "
" width: 18px; "
" margin: -7px -7px -7px -7px; "
" } "
);
"QSlider::groove:horizontal "
"{ "
" border-image:url(:/file/images/process.png); "
" border: 10px; "
" height: 5px; "
" margin: 0px; "
" left: 18px; right: 18px; "
" } "
"QSlider::handle:horizontal "
"{ "
" border-image:url(:/file/images/pd.png); "
" border: 1px; "
" width: 18px; "
" margin: -7px -7px -7px -7px; "
" } "
);
=========================================================================================================================
(以下是别人的例子)
已滑过的槽部分直接填充颜色即可,没有必要贴图,如果需要立体的效果可以通过线性渐变进行填充,线性渐变通过起始点和终止点的坐标指定的是填充方向,通过stop指定当前rgba值,起始点值为0,终止点值为1,,示例的效果是凸起,依靠强悍的美工给我的图,层层萃取出来的rgb值,填上后才呈现出来的。(执着的程序员呀)
"QSlider::sub-page:horizontal{ "
" background: qlineargradient(spread:pad, x1:0, y1:1, x2:0, y2:0, stop:0 rgba(27, 5, 27, 255), stop:0.25 rgba(99, 20, 102, 255), stop:0.5 rgba(154, 30, 158, 255), stop:1 rgba(173, 57, 176, 255)); "
"} "
就这样,一个完美的QSlider就出现了!各位可以根据自己的实际情况进行修改。
完整的代码:
slider->setStyleSheet(
"QSlider::groove:horizontal { "
" border: 1px solid #999999; "
" height: 2px; "
" margin: 0px 0; "
" left: 12px; right: 12px; "
" } "
"QSlider::handle:horizontal { "
" border: 1px solid #5c5c5c; "
" border-image:url(image/skin2/Toolsicon/volumnslider.png);"
" width: 18px; "
" margin: -7px -7px -7px -7px; "
" } "
" "
"QSlider::sub-page:horizontal{ "
" background: qlineargradient(spread:pad, x1:0, y1:1, x2:0, y2:0, stop:0 rgba(27, 5, 27, 255), stop:0.25 rgba(99, 20, 102, 255), stop:0.5 rgba(154, 30, 158, 255), stop:1 rgba(173, 57, 176, 255)); "
"} "
"QSlider::add-page:horizontal{ "
" background-image:url(image/skin2/Toolsicon/volumn.png) "
"}"
);
- QSS定制自定义QSlider
- QSS定制自定义QSlider
- QSS定制自定义QSlider
- QSS定制自定义QSlider
- QSlider QSS设置样式
- QSlider的qss美化
- QT之qss教程-QSlider
- 两种QSlider进度条的QSS样式
- 使用QStyle定制QSlider外观
- 【Qt】QSlider----qss(round handle) 圆形滑块
- Qt笔记-qss定制QCalendarWidget
- QSlider
- 自定义控件支持qss
- 用qss自定义控件
- Qt-Qss:自定义界面引入qss
- Qt Style Sheet自定义QSlider
- Qt Style Sheet自定义QSlider
- qt qss文件定制滚动条
- Android 音频管理器AudioManager
- SQLServer2008 error 40 错误
- PogoPlug折腾全过程--安装transmission、samba
- 说说余额宝
- GDI+学习及代码总结之------图像的编码与解码
- QSS定制自定义QSlider
- 利用jquery对ajax操作,详解原理(附代码)
- xheditor插件默认字体大小的设置
- 修复mysql 5.1升级至5.5出现的BUG: Cannot load from mysql.proc. The table is probably corrupted
- Visual Studio C++项目生成
- ROS探索总结(十一)——机器视觉
- erlang集成开发环境搭配配置出现的问题
- 预处理器标识#error的目的是什么?
- Jaxb2 转换XML文档——完成Java对象和XML相互转换