工具欄是主窗口框架的一部分,並在構建樣式選項時與其所屬的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。 樣式選項的成員變量為:
| Member | Content |
|---|---|
| features | 保持條是否在ToolBarFeature的值(可移動或無)中可移動。 |
| lineWidth | 工具欄框架的寬度。 |
| midLineWidth | 該變量當前未使用,並且始終為0。 |
| positionOfLine | 工具欄行在其所屬的工具欄區域內的位置。 |
| positionWithinLine | 工具欄在工具欄行中的位置。 |
| toolBarArea | 工具欄所在的工具欄區域。 |
