Как добавить QTCreator-подобную левую панель в мою программу?
Я проектирую графический интерфейс для проекта, и я хочу левую панель, подобную этой
http://patatux.net/wp-content/uploads/2010/12/Pantallazo-BEBE-Me-fui.png
Как мне поместить их в мой файл.ui?
3 ответа
Вы можете попробовать использовать 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)
...
Самый простой способ - это использовать библиотеку QtCreator libCorePlugin.so и соответствующие включения (FancyTabBar.h) из srcs QtCreator.
Скорее всего, вы можете сделать это, поместив все в QHBoxLayout, где левая часть - это столбец QVBoxLayout QPushButton с иконками, соответствующими вашим желаниям. Сделайте так, чтобы кнопки вызывали вид правой панели.
Существует также QTabBar, который выполняет большую часть этой работы за вас. Вам просто нужно сказать, чтобы поместить вкладки на левой стороне.