Как добавить QTCreator-подобную левую панель в мою программу? - PullRequest
4 голосов
/ 06 июня 2011

Я проектирую графический интерфейс для проекта, и я хочу левую панель, подобную этой

http://patatux.net/wp-content/uploads/2010/12/Pantallazo-BEBE-Me-fui.png http://patatux.net/wp-content/uploads/2010/12/Pantallazo-BEBE-Me-fui.png

https://www.tuxradar.com/files/LXF119.rev_qt.04.jpg

Какположить их в мой файл .ui?

Ответы [ 3 ]

5 голосов
/ 07 июня 2011

Вы можете попробовать использовать QToolBar с вертикальной ориентацией. Чтобы эмулировать поведение вкладок, вы должны поместить действия в QActionGroup и сделать их проверяемыми.

Например, для создания левой панели Qt Creator, например:

welcomeAct = new QAction(...)
toolbar->addAction(welcomeAct)
editAct = new QAction(...)
toolbar->addAction(editAct)
designAct = new QAction(...)
toolbar->addAction(designAct)
...

//add spacing
QLabel *spacing = new QLabel;
spacing->setSizePolicy(Qt::Expanding, Qt::Expanding);
toolbar->addWidget(spacing);

//adding aditional actions
runAct = new QAction(...)
toolbar->addAction(runAct)
runDebugAct = new QAction(...)
toolbar->addAction(runDebugAct)
buildAct = new QAction(...)
toolbar->addAction(buildAct)

// put "tabs" action in QActionGroup
group = new QActionGroup(this);
group->addAction(welcomeAct)
group->addAction(editAct)
group->addAction(designAct)
...
4 голосов
/ 17 июня 2011

Самый простой способ - это использовать библиотеку QtCreator libCorePlugin.so и соответствующие включения (FancyTabBar.h) из srcs QtCreator

2 голосов
/ 06 июня 2011

Скорее всего, вы можете сделать это, поместив все в QHBoxLayout, где левая часть - это столбец QVBoxLayout QPushButton с иконками, соответствующими вашим желаниям.Пусть кнопки вызывают то, как выглядит правая панель.

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

...