QScrollBar样式
2013-12-26 16:06
639 查看
滚动条在Qt里叫做QScrollBar,使用样式设置控件的外观很方便,这里分享一下滚动条的样式设置。例如下面的树形控件的滚动条的样式。
const QString VSCROLLBAR_STYLE =
"QScrollBar:vertical {margin: 13px 0px 13px 0px;background-color: rgb(255, 255, 255, 100); border: 0px; width: 12px;}\
.QScrollBar::handle:vertical {background-color: purple; width: 12px; }\
.QScrollBar::add-page:vertical {background-color: pink; }\
.QScrollBar::sub-page:vertical {background-color: orange; }\
.QScrollBar::sub-line:vertical {subcontrol-origin: margin; border: 1px solid red; height:13px}\
.QScrollBar::up-arrow:vertical { subcontrol-origin: margin; background-color: blue; height:13px}\
.QScrollBar::down-arrow:vertical { background-color: yellow; }\
.QScrollBar::add-line:vertical {subcontrol-origin: margin; border: 1px solid green; height:13px}";
QScrollBar分为sub-line、add-line、add-page、sub-page、up-arrow、down-arrow和handle几个部分,这几个相应的部位都己经在上面画出来了。sub-line包含了up-arrow,而add-line则包含了down-arrow区域。
需要注意的是,如果不对sub-line、add-line设置subcontrol的话,会出现下面的问题。如果不设置整个QScrollBar的marg-left和margin-bottom话,则不能定制add-line和sub-line区域。
没有定义sub-control为margin
没有定义margin-top和margin-bottom
原文:http://hi.baidu.com/cmdmac/item/9889911f7490f7fb65eabfa9
const QString VSCROLLBAR_STYLE =
"QScrollBar:vertical {margin: 13px 0px 13px 0px;background-color: rgb(255, 255, 255, 100); border: 0px; width: 12px;}\
.QScrollBar::handle:vertical {background-color: purple; width: 12px; }\
.QScrollBar::add-page:vertical {background-color: pink; }\
.QScrollBar::sub-page:vertical {background-color: orange; }\
.QScrollBar::sub-line:vertical {subcontrol-origin: margin; border: 1px solid red; height:13px}\
.QScrollBar::up-arrow:vertical { subcontrol-origin: margin; background-color: blue; height:13px}\
.QScrollBar::down-arrow:vertical { background-color: yellow; }\
.QScrollBar::add-line:vertical {subcontrol-origin: margin; border: 1px solid green; height:13px}";
QScrollBar分为sub-line、add-line、add-page、sub-page、up-arrow、down-arrow和handle几个部分,这几个相应的部位都己经在上面画出来了。sub-line包含了up-arrow,而add-line则包含了down-arrow区域。
需要注意的是,如果不对sub-line、add-line设置subcontrol的话,会出现下面的问题。如果不设置整个QScrollBar的marg-left和margin-bottom话,则不能定制add-line和sub-line区域。
没有定义sub-control为margin
没有定义margin-top和margin-bottom
原文:http://hi.baidu.com/cmdmac/item/9889911f7490f7fb65eabfa9
相关文章推荐
- QT学习 第一章:基本对话框
- 使用Shiboken为C++和Qt库创建Python绑定
- Qt实现图片移动实例(图文教程)
- QModelIndex/Role/Model介紹<二>
- ok6410开发板移植DirectFB手记
- 在 Qt4 中使用 C++11
- Hello Word ~ v0.2.2 背单词软件发布 -- By WHYPRO
- QT的命名风格
- QT 中的sleep
- QT 串口的监控
- 在VS2010下配置QT和ITK+VTK
- 在Windows下建立QT开发环境
- Qmake does not support build directories below the source directory
- MFC调用Qt生成的dll
- QT 调用 DLL 方法
- QT主要类QWidget
- QT 笔记:禁止调整窗口大小
- WidgetFlags
- 转载QT中文论坛的一个帖子,版本比较老了,但是说的比较全,有了框架再干活比较顺。
- Qt安装—图文并茂搭建VS2008+QT开发环境