如何在我的程序中添加类似QTCreator的左栏?

时间:2011-06-06 17:37:26

标签: c++ qt user-interface dock

我正在为项目设计GUI,我想要一个像这样的左栏

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 个答案:

答案 0 :(得分:5)

您可以尝试使用垂直方向的QToolBar。 要模拟制表符行为,您应该将操作放到QActionGroup并使其可以检查。

例如,创建左侧面板Qt创建者,如:

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)
...

答案 1 :(得分:4)

最简单的方法 - 使用QtCreator的库libCorePlugin.so和来自QtCreator的srcs的相应包含(FancyTabBar.h)

答案 2 :(得分:2)

您最有可能通过将所有内容放入QHBoxLayout来实现,其中左侧是QPushButton的QVBoxLayout列,其图标与您想要的图标匹配。让按钮触发右侧窗格的样子。

还有QTabBar可以帮助您完成大部分工作。你只需要告诉它将标签放在左侧。