网上实现抽屉的文章太多,各有千秋。这里也跟风简单做一个炼炼手。
先上图
图1,初始状态的抽屉
图2,打开抽屉
图3,超出窗体,显示滚动条
图4,扩展scrollArea
图5,项目文件
思路是用一个可以滚动的容器,包含n个抽屉,每个抽屉有n个组件或窗体作做为子项。抽屉和子项可以动态处理(这里只实现初始化时添加)。
容器定义:
class LgToolbox : public QScrollArea
{
Q_OBJECT
public:
LgToolbox(QWidget *parent);
virtual ~LgToolbox();
void addGroup(LgToolboxGroup* item);
LgToolboxGroup* getItem(QString name);
QVBoxLayout vlayout;