Qt之QToolBox

来源:互联网 发布:淘宝怎么发微淘 编辑:程序博客网 时间:2024/05/16 09:44

//
// addItem() //添加部件
// insertItem() //特定索引插入部件
// count() //返回item个数
// currentIndex() //返回当前部件index
// currentWidget() //返回当前部件
// setCurrentWidget() //setCurrentIndex()
// currentChanged() //current index发生改变
// indexOf() //返回部件的索引
// widget() //返回特定索引的部件

public:    MainWindow(QWidget *parent = 0);    ~MainWindow();    QWidget* initWidget(const QString&,const QString&,const QString&);public slots:    void change();private:    QToolBox *tb;
MainWindow::MainWindow(QWidget *parent)    : QMainWindow(parent){    resize(600,600);    tb = new QToolBox(this);    tb->resize(400,400);    QWidget* w = initWidget(":/image/1.jpg","张三丰","打太极");    QWidget* w1 = initWidget(":/image/4.png","星宿老仙","放毒");    tb->addItem(w,QIcon(":/image/3.ico"),"武侠");    tb->addItem(w1,QIcon(":/image/3.ico"),"坏人");    tb->move(100,100);    QPushButton *btn = new QPushButton("下一个",this);    btn->move(50,50);    connect(btn,&QPushButton::clicked,this,&MainWindow::change);}QWidget* MainWindow::initWidget(const QString& head,const QString& name,const QString& desc){    QWidget* w = new QWidget;    QLabel* h = new QLabel(w);    h->setPixmap(QPixmap(head));    h->setScaledContents(true);    h->resize(30,30);    QLabel* n = new QLabel(w);    n->setText(name);    QLabel* d = new QLabel;    d->setText(desc);    //设置文字颜色    n->setStyleSheet(QString("color: %1;").arg("rgb(255,0,0)"));    d->setStyleSheet(QString("color: %1;").arg("rgb(0,255,0)"));   QVBoxLayout* pvlayout = new QVBoxLayout;    pvlayout->addStretch();    pvlayout->addWidget(n);    pvlayout->addWidget(d);    pvlayout->addStretch();    pvlayout->setSpacing(5);    pvlayout->setContentsMargins(0,0,0,0);    QHBoxLayout* phlayout = new QHBoxLayout;    phlayout->addWidget(h);    phlayout->addLayout(pvlayout);    phlayout->addStretch();    phlayout->setContentsMargins(0,0,0,0);    w->setLayout(phlayout);    return w;}
void MainWindow::change(){    tb->setCurrentWidget(tb->widget((tb->currentIndex()+1)%2));}

运行结果:
这里写图片描述
这里写图片描述

原创粉丝点击