第四章 Qt5基本对话框——工具盒类QToolButton

目录

一、简介

二、课本实例MyQQExample运行效果

三、代码

main.cpp要做出修改

 drawer.h

drawer.cpp


一、简介

        工具盒类又称为QToolBox。QToolBox提供了一种列状的层叠窗体,而QToolBox提供了一种快速访问命令或选择项的按钮,通常在工具中使用。

        抽屉效果是软件界面设计中的一种常用形式,可以以一种动态直观的方式在大小有限的界面上扩展出更多功能。

二、课本实例MyQQExample运行效果

第四章 Qt5基本对话框——工具盒类QToolButton_第1张图片第四章 Qt5基本对话框——工具盒类QToolButton_第2张图片

三、代码

main.cpp要做出修改

#include "dialog.h"
#include 
#include "drawer.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    //Dialog w;
    //w.show();
    Drawer d;
    d.show();

    return a.exec();
}

 drawer.h

#ifndef DRAWER_H
#define DRAWER_H
#include 
#include 
#include 
#include 
#include 
#include 

class Drawer : public QToolBox
{
    Q_OBJECT
public:
    Drawer(QWidget * parent = 0, Qt::WindowFlags f = 0);

private:
    QToolButton * btn1_1;
    QToolButton * btn1_2;
    QToolButton * btn2_1;
    //QToolButton * btn2_2;
    //QToolButton * btn3_1;
    //QToolButton * btn3_2;
};

#endif // DRAWER_H

drawer.cpp

#include "drawer.h"

Drawer::Drawer(QWidget * parent, Qt::WindowFlags f):QToolBox(parent,f)
{
    setWindowTitle(tr("My QQ"));
    //1
    btn1_1 = new QToolButton;//创建一个QToolButton类实例,分别对应于抽屉中的每个按钮
    btn1_1->setText(tr("张三"));//设置按钮文字
    btn1_1->setIcon(QPixmap("QQ.jpg"));//设置按钮图标
    btn1_1->setIconSize(QPixmap("QQ.jpg").size());//设置按钮大小,与图标相同
    btn1_1->setAutoRaise(true);//当鼠标离开时,按钮自动回复为弹起状态
    btn1_1->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);//文字显示在图标旁边
    btn1_2 = new QToolButton;
    btn1_2->setText(tr("李四"));
    btn1_2->setIcon(QPixmap("QQ3.jpg"));
    btn1_2->setIconSize(QPixmap("QQ3.jpg").size());
    btn1_2->setAutoRaise(true);
    btn1_2->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
    QGroupBox * groupBox1 = new QGroupBox;//创建一个QGroupBox对应一个抽屉
    QVBoxLayout * layout1 = new QVBoxLayout(groupBox1);//用来设置抽屉内各个按钮的布局
    layout1->setMargin(10);
    layout1->setAlignment(Qt::AlignCenter);
    //加入抽屉内的各个按钮
    layout1->addWidget(btn1_1);
    layout1->addWidget(btn1_2);
    //插入一个占位符
    layout1->addStretch();
    //2
    btn2_1 = new QToolButton;
    btn2_1->setText(tr("猜猜我是谁"));
    btn2_1->setIcon(QPixmap("QQ2.jpg"));
    btn2_1->setIconSize(QPixmap("QQ2.jpg").size());
    btn2_1->setAutoRaise(true);
    btn2_1->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
    QGroupBox * groupBox2 = new QGroupBox;
    QVBoxLayout * layout2 = new QVBoxLayout(groupBox2);
    layout2->setMargin(10);
    layout2->setAlignment(Qt::AlignCenter);
    //加入抽屉内的各个按钮
    layout2->addWidget(btn2_1);



    //将准备好的抽屉插入ToolBox中
    this->addItem((QWidget*)groupBox1,tr("我的好友"));
    this->addItem((QWidget*)groupBox2,tr("陌生人"));
}

你可能感兴趣的:(Qt5开发及实例,qt,开发语言)