工具盒类QToolBox

来源:互联网 发布:php后台admin 编辑:程序博客网 时间:2024/05/16 10:36

1.简介

QToolBox主要实现一种抽屉效果,为工具盒中添加按钮,那么我们可以进行一种快速访问,最有名的工具盒可能就是QQ吧,好友、朋友这种一目了然的界面分类,今天研究了下工具盒类,熟悉了一下工具盒类的基本创建;
这里写图片描述

虽然比较做的比较丑,但是我主要是熟悉一下,所以要求也没那么高了,至于具体美化,可以在工作中碰到再去研究

2.代码片段

box=new QToolBox(this);    layout=new QGridLayout(this);    layout->addWidget(box);    box->setFixedWidth(200);    box->setStyleSheet("background-color:black;" "color:white");  //z字体颜色及背景颜色设置    //    box->addItem(this,tr("美国"));    //    box->addItem(this,tr("中国"));    //    box->addItem(this,tr("日本"));    QWidget *widget0=new QWidget(this);    QWidget *widget1=new QWidget(this);    QWidget *widget2=new QWidget(this);    QVBoxLayout *layout0=new QVBoxLayout(widget0);    QVBoxLayout *layout1=new QVBoxLayout(widget1);    QVBoxLayout *layout2=new QVBoxLayout(widget2);    QLabel *label0=new QLabel("张三");    QLabel *label1=new QLabel("张四");    QLabel *label2=new QLabel("张五");    layout0->addWidget(label0); //用的更多的是添加按钮,以便于快速访问    layout0->addWidget(label1);    layout0->addWidget(label2);    layout0->addStretch();//最开始设置控件间距,发现没用,最后才发现要先添加一个弹簧    layout0->setSpacing(5);    //    layout0->setMargin(0);    layout0->setAlignment(Qt::AlignHCenter);    //    layout1->addWidget(label0);    //    layout1->addWidget(label1);    //    layout1->addWidget(label2);    //    layout2->addWidget(label0);    //    layout2->addWidget(label1);    //    layout2->addWidget(label2);    box->addItem(widget0,tr("美国"));//添加时也可以同时设置icon    box->addItem(widget1,tr("中国"));    box->addItem(widget2,tr("日本"));

3.总结

添加按钮到抽屉盒中,就和添加按钮到表格中一样,涉及点击事件的问题,当按钮很多时,我们很可能不知道点击的按钮是哪一个,但我们又不可能单独设置点击事件,思路是创建按钮时,保存按钮地址,当按钮被点击后,获取点击按钮地址,再通过与之前保存的按钮地址比较,就可以很快的知道被点击的是哪个按钮,这里不再详述。

0 0
原创粉丝点击