如何设置显示QToolBar的行?

时间:2009-09-17 20:27:18

标签: c++ qt

我想问一下是否有人知道如何在两行中显示2个QToolBars,一个在另一行之上?我找到了QStyleOptionToolBar类,但我不知道如何使用它......

使用鼠标拖动一个工具栏很容易放在另一个工具栏下面,所以我认为必须有一种方法可以从源代码中完成这个...

任何提示都将不胜感激!

克劳斯

3 个答案:

答案 0 :(得分:0)

我认为当你添加2个工具栏时,如果你把它们放在同一个区域,它们会自动叠加:

QMainWindow *mainWin = get_main(); // however you get it
mainWin->addToolBar(Qt::TopToolBarArea, new QToolBar);
mainWin->addToolBar(Qt::TopToolBarArea, new QToolBar);

这应该会在顶部生成2个工具栏。

答案 1 :(得分:0)

尝试在添加两个工具栏之间调用QMainWindow :: addToolBarBreak(Qt :: ToolBarArea)。

答案 2 :(得分:0)

如果您希望工具栏分为两行,则应按以下方式执行:

firstToolbar = new QToolBar(this);
secondToolbar = new QToolBar(this);

addToolBar(Qt::TopToolBarArea, firstToolbar);    
addToolBarBreak();
addToolBar(Qt::TopToolBarArea, secondToolbar);   

addToolBarBreak接受Qt :: ToolBarArea,因此您可以指定要添加中断的区域。默认情况下,它是Qt :: TopToolBarArea。