QStyle Toolbars 样式设计(二十)

工具栏是主窗口框架的一部分,并在构建样式选项时与其所属的QMainWindow合作。 主窗口有四个可放置工具栏的区域。

它们位于窗口的四个侧面(即北,南,西和东)旁边。 在每个区域内,可以有多于一行的工具栏。 一条线由方向彼此相等(垂直或水平)的工具栏组成。

Qt中的QToolbars由三个元素CE_ToolBar,PE_IndicatorToolBarHandle和PE_IndicatorToolBarSeparator组成。

QMainWindowLayout用于计算边界矩形(即工具栏的位置和大小及其内容。主窗口在计算栏的大小时也使用工具栏中项目的sizeHint()。

这是QToolBar的元素树:

 

 

虚线表示QToolBar保留QToolBarLayout的实例,而QToolBarSeparators由QToolBarLayout保留。 当工具栏浮动时(即具有自己的窗口),将绘制PE_FrameMenu元素,否则QToolbar将绘制CE_ToolBar。

这是Java风格的工具栏的图像:

 

 

QToolBarSaparator使用QStyleOption作为其样式选项。 如果工具栏所在的工具栏是水平的,它将设置State_horizontal标志。 除此之外,他们使用initFrom()。

QToolBar的样式选项是QStyleOptionToolBar。 如果条是水平的(即在工具栏的北部或南部),则唯一的状态标志集(除了公共标志)是State_Horizontal。 样式选项的成员变量为:

MemberContent
features 保持条是否在ToolBarFeature的值(可移动或无)中可移动。
lineWidth 工具栏框架的宽度。
midLineWidth 该变量当前未使用,并且始终为0。
positionOfLine 工具栏行在其所属的工具栏区域内的位置。
positionWithinLine 工具栏在工具栏行中的位置。
toolBarArea 工具栏所在的工具栏区域。
posted @ 2020-11-04 22:11  流浪侠客  阅读(1677)  评论(0编辑  收藏  举报