获取 QToolbar 当前停靠区域的简单方法

Simple way to get the current docked area of a QToolbar

我正在做一个 Qt 项目,我需要在 运行 时间获取工具栏位置。有什么方法可以获取 QToolbarQMainWindow 中的当前位置?

谢谢。

编辑:

感谢您的回答,我已经完成了 75% 的工作。但是QMainWindow::toolBarArea(QToolBar * toolbar)里面有问题。

当我将两个工具栏停靠在一个区域(即底部区域)时,如下所示。

-----------------------------------
| Toolbar 1                       |
-----------------------------------
| Toolbar 2                       |
-----------------------------------

然后我保存从QMainWindow::toolBarArea获得的区域,使用QSettings然后加载它们,它加载如下。

-----------------------------------
| Toolbar 1      | Toolbar 2      |
-----------------------------------

还有什么方法可以阻止它吗?

QMainWindow范围内,可以调用QMainWindow::toolBarArea(QToolBar *toolbar)获取toolbar位置

Returns the Qt::ToolBarArea for toolbar. If toolbar has not been added to the main window, this function returns Qt::NoToolBarArea.

returns enum:

enum ToolBarArea {
        LeftToolBarArea = 0x1,
        RightToolBarArea = 0x2,
        TopToolBarArea = 0x4,
        BottomToolBarArea = 0x8,

        ToolBarArea_Mask = 0xf,
        AllToolBarAreas = ToolBarArea_Mask,
        NoToolBarArea = 0
    };