Qt Style Sheet实践(一):按钮及关联菜单

Qt Style Sheet实践(一):按钮及关联菜单

ID:47886017

大小:75.29 KB

页数:6页

时间:2019-08-04

Qt Style Sheet实践(一):按钮及关联菜单_第1页
Qt Style Sheet实践(一):按钮及关联菜单_第2页
Qt Style Sheet实践(一):按钮及关联菜单_第3页
Qt Style Sheet实践(一):按钮及关联菜单_第4页
Qt Style Sheet实践(一):按钮及关联菜单_第5页
Qt Style Sheet实践(一):按钮及关联菜单_第6页
资源描述:

《Qt Style Sheet实践(一):按钮及关联菜单》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、QtStyleSheet实践(一):按钮及关联菜单导读   正如web前端开发中CSS(CascadeStyleSheet)的作用一样,Qt开发中也可以使用修改版的QSS将逻辑业务和用户界面进行隔离。这样,美工设计人员和逻辑实现者可以各司其职而不受干扰。更重要的是,由于界面和逻辑处理是分离的,低耦合性使得代码重构的工作量可以减少到最小。QSS和CSS的语法几乎一致,除了Qt自身增加的一些属性之外,其余的属性都可以在CSS2或CSS3中找到对应的属性。因此,如果曾经有过CSS的使用经验,那么QSS的使用将游刃有

2、余。关于QSS的使用实践,打算撰写一系列博客来记录使用过程中的一些技巧和方法。本篇是系列第一篇,主要探讨QPushButton及QMenu在QSS的作用下的效果。QSS介绍   QSS(QtStyleSheet)借鉴于CSS的良好思想,实现了界面和逻辑的分离。QSS中引入了盒模型(BoxModel)概念,这是样式表技术中的核心概念之一。具体的解释网上说的挺多的,Qt本身自带的文档也有较为详细的说明。在使用盒模型进行设计之前,我们得了解下Qt中哪些组件可以用盒模型进行布局设计:Qt中可以应用盒模型的组件类QCh

3、eckBoxQCheckBox的勾选符号可以使用::indicator子组件来定制。默认情况下,勾选标记位于组件矩形的左上角。QCheckBox的spacing属性可以用于指定勾选标记和文本内容之间的间距。QComboBox对于QComboBox而言,支持盒模型的其实是包裹QComboBox的外框(Frame),QComboBox的下拉单按钮通过::drop-down子组件来定制,默认情况下下拉单按钮位于盒模型中padding矩形的右上角。下拉按钮中的箭头号通过::down-arrow子组件进行定制,箭头号默

4、认位于子组件的正中央。QGroupBoxQGroupBox的标题用::title子组件进行定制,标题的位置依QGroupBox::textAlignment的具体值而言。对于可选的QGroupBox而言,标题中还会包含一个勾选标记,勾选标记用::indicator来定制,spacing仍然用于设置勾选标记与文本的间距。QSpinBox(QDateEdit,QDateTimeEdit)如图所示,默认情况下spinbox右部分成上下两个按钮。以向上的箭头为例,::up-button和::up-arrow分别用于定

5、制按钮及位于按钮中的箭头号。箭头号默认位于按钮的中间,对于向下的按钮类似,只是用::down-button和::down-arrow子组件。QToolBoxQToolBox是一个具备QQ折叠功能的组件,因此其中的独立的page使用::tab子组件定制。::tab组件支持一些伪状态::only-one,:first,:middle,:previous-selected,:next-selected,:selected,从而达到定制特定page的目的。QMenuBar菜单栏组件的spacing属性可指定菜单项之间

6、的间距,单个菜单项还可以通过::item子组件定制风格。但是值得注意的是,由于MAC下菜单栏集成到了系统菜单栏,此时样式表会失去作用。QProgressBar进度条组件使用::chunks子组件来定制进度条样式,text-align属性用于设定进度条中文本的对齐方向:left,center,rightQScrollBar滚动条的组成其实非常复杂,依据垂直和水平方向的不同,由::handle,::add-line,::sub-line,::add-page,::sub-page,::right-arrow, :

7、:left-arrow,::down-arrow,::up-arrow等子组件组成。伪状态:horizontal,:vertical用于确定滚动条的方向,width(min-width),height(min-height)则可确定滚动条的不同长和宽。QToolBar工具栏的伪状态:top,:left,:right,:bottom的使用依赖于工具栏的具体位置;而:first,:last,:middle,:only-one则用于指代工具栏中的具体位置。工具栏的分隔器用::separator子组件指代,::han

8、dle则指代移动工具栏的handle.QMenu菜单中的独立项使用::item子组件定制,除了常见的伪状态,::item还支持:selected,:default,:exclusive以及:non-exclusive等伪状态。利用这些伪状态,可以为不同状态的菜单项定制出不同的外观。对于可勾选的菜单项,使用::indicator对勾选标记进行定制,::separator则定制菜单项之间的分隔符;对于有

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。