Как установить строку, где отображается QToolBar? - PullRequest
1 голос
/ 18 сентября 2009

Я хотел бы спросить, знает ли кто-нибудь, как отобразить 2 QToolBars в две строки, одна поверх другой? Я нашел класс QStyleOptionToolBar, но я не знаю, как его использовать ...

Легко перетащить одну панель инструментов с помощью мыши, чтобы поместить ее под другую, поэтому я думаю, что должен быть способ, как это можно сделать из исходного кода ...

Любая подсказка будет оценена!

Клаус

Ответы [ 3 ]

0 голосов
/ 18 сентября 2009

Попробуйте вызвать QMainWindow :: addToolBarBreak (Qt :: ToolBarArea) между добавлением двух панелей инструментов.

0 голосов
/ 13 сентября 2015

Если вы хотите, чтобы панели инструментов были в две строки, вы должны сделать это следующим образом:

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

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

addToolBarBreak принимает Qt :: ToolBarArea, чтобы вы могли указать, для какой области вы хотите добавить разрыв. По умолчанию это Qt :: TopToolBarArea.

0 голосов
/ 18 сентября 2009

Я думаю, что когда вы добавите 2 панели инструментов, если вы разместите их в одной области, они будут автоматически складываться:

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

Это должно создать 2 панели инструментов, обе в верхней части.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...