QToolBox类的创建

//drawer.h
#ifndef DRAWER_H
#define DRAWER_H #include <QToolBox>
#include <QToolButton>
#include "widget.h" class Drawer : public QToolBox
{
Q_OBJECT
public:
explicit Drawer(QWidget *parent = ); signals: public slots:
void showMyWidget();
private:
QToolButton *btn1;
QToolButton *btn2;
QToolButton *btn3;
QToolButton *btn4;
Widget *w; }; #endif // DRAWER_H
//drawer.cpp
#include "drawer.h"
#include <QGroupBox>
#include <QVBoxLayout> Drawer::Drawer(QWidget *parent) :
QToolBox(parent)
{
w=new Widget();
setWindowTitle("My QQ"); btn1=new QToolButton();
btn1->setText("张三");//设置QToolButton按钮标题
btn1->setIcon(QPixmap("1.jpg"));//设置QToolButton的图像
btn1->setIconSize(QPixmap("1.jpg").size());//设置QToolButton的大小和图像一致
btn1->setAutoRaise(true);//设置QToolButton按钮自动弹起
btn1->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);//设置文字在图片的旁边 btn2=new QToolButton();
btn2->setText("李四");//设置QToolButton按钮标题
btn2->setIcon(QPixmap("2.jpg"));//设置QToolButton的图像
btn2->setIconSize(QPixmap("2.jpg").size());//设置QToolButton的大小和图像一致
btn2->setAutoRaise(true);//设置QToolButton按钮自动弹起
btn2->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);//设置文字在图片的旁边 btn3=new QToolButton();
btn3->setText("王五");//设置QToolButton按钮标题
btn3->setIcon(QPixmap("3.jpg"));//设置QToolButton的图像
btn3->setIconSize(QPixmap("3.jpg").size());//设置QToolButton的大小和图像一致
btn3->setAutoRaise(true);//设置QToolButton按钮自动弹起
btn3->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);//设置文字在图片的旁边 btn4=new QToolButton();
btn4->setText("赵六");//设置QToolButton按钮标题
btn4->setIcon(QPixmap("4.jpg"));//设置QToolButton的图像
btn4->setIconSize(QPixmap("4.jpg").size());//设置QToolButton的大小和图像一致
btn4->setAutoRaise(true);//设置QToolButton按钮自动弹起
btn4->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);//设置文字在图片的旁边 QGroupBox *gbox1=new QGroupBox();
QVBoxLayout *vblay1=new QVBoxLayout(gbox1);
vblay1->setMargin();//设置各控件的间距
vblay1->setAlignment(Qt::AlignHCenter);//设置控件位置居中
vblay1->addWidget(btn1);
vblay1->addWidget(btn2);
vblay1->addStretch();//加一个占位控件 QGroupBox *gbox2=new QGroupBox();
QVBoxLayout *vblay2=new QVBoxLayout(gbox2);
vblay2->setMargin();//设置各控件的间距
vblay2->setAlignment(Qt::AlignHCenter);//设置控件位置居中
vblay2->addWidget(btn3);
vblay2->addWidget(btn4);
vblay2->addStretch(); this->addItem((QWidget *)gbox1,tr("我的好友"));
this->addItem((QWidget *)gbox2,tr("陌生人")); connect(btn1,SIGNAL(clicked()),this,SLOT(showMyWidget()));
connect(btn2,SIGNAL(clicked()),this,SLOT(showMyWidget()));
connect(btn3,SIGNAL(clicked()),this,SLOT(showMyWidget()));
connect(btn4,SIGNAL(clicked()),this,SLOT(showMyWidget())); } void Drawer::showMyWidget()
{
w->show();
}
//main.cpp
#include "widget.h"
#include "drawer.h"
#include <QApplication> int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Drawer drawer;//实例化Drawer类
drawer.resize(,);//调用resize()方法,修改窗口大小
drawer.show();//显示窗口
//Widget w;
//w.show(); return a.exec();
}

QT QToolBox类的更多相关文章

  1. Qt学习之路(1)------Qt常用类用法说明

    Qt常用类 向控制台输出文本 第一个例子,我们采用STL的方式: console.cpp #include <iostream> int main() { std::cout <&l ...

  2. Qt 串口类QSerialPort 使用笔记

    Qt 串口类QSerialPort 使用笔记 虽然现在大多数的家用PC机上已经不提供RS232接口了.但是由于RS232串口操作简单.通讯可靠,在工业领域中仍然有大量的应用.Qt以前的版本中,没有提供 ...

  3. 详解 QT 主要类 QWidget

    QWidget类是所有用户界面对象的基类,每一个窗口部件都是矩形,并且它们按Z轴顺序排列的.一个窗口部件可以被它的父窗口部件或者它前面的窗口部件盖住一部分. 先来看内容. AD: 2013云计算架构师 ...

  4. 【学习笔记】QT常用类及应用

    一.QT基类: QObject 二.QT中常用的库 QT中的类根据功能划分在不同的库中,在用户属性.pro文件中可以看到. 三.Qt基本对话框的使用 常用5类: 通过类名可以直接调用类的静态成员函数. ...

  5. Qt字符串类——3.字符串的转换

    (1)QString::toInt()函数将字符串转换为整型数值,类似的函数还有toDouble().toFloat().toLong().toLongLong()等.下面举个例子说明其用法: QSt ...

  6. QT QString类

    字符串有如下几个操作符 QString提供了一个二元的"+"操作符用于组合两个字符串,并提供了一个"+="操作符用于将一个字符串追加到另一个字符串的末尾,例如: ...

  7. Qt的类:qfileinfogatherer

    这篇文章中,探索Qt中的类qfileinfogatherer类,先给出私有类头文件.我们先想一想要形成一个信息采集者,需要什么?需要一个线程,当文件信息发生变化的时候,作为一个槽来接收信号. 先预备一 ...

  8. Qt常用类及类方法简介之 QAction类

    1.QAction::QAction ( const QString & text, QObject * parent )    QAction类的构造函数之一,利用text,parent创建 ...

  9. Qt 常用类——QStandardItemModel

    转载:落叶知秋时 类QabstractItemModel,QabstractListModel,QAbstractTableModel不保存数据,用户需要从这些类派生出子类,并在子类中定义某种数据结构 ...

随机推荐

  1. 面试问题4:C语言预处理包括哪些

    问题描述:C语言 预处理包括哪些操作 C语言的三种预处理包括:宏定义(#define).文件包含(#include).条件编译(#if.#else.#endif). 对于宏定义的介绍: 宏定义必须写在 ...

  2. asp.net开发中常见公共捕获异常方式总结(附源码)

    本文实例总结了asp.net开发中常见公共捕获异常方式.分享给大家供大家参考,具体如下: 前言:在实际开发过程中,对于一个应用系统来说,应该有自己的一套成熟的异常处理框架,这样当异常发生时,也能得到统 ...

  3. MapReduce二次排序

    默认情况下,Map 输出的结果会对 Key 进行默认的排序,但是有时候需要对 Key 排序的同时再对 Value 进行排序,这时候就要用到二次排序了.下面让我们来介绍一下什么是二次排序. 二次排序原理 ...

  4. mysql优化---订单查询优化:视图优化+索引创建

    订单的表结构采用了垂直分表的策略,将订单相关的不同模块的字段维护在不同表中 在订单处理这个页面,需要查询各种维度, 因此为了方便查询创建了v_sale_order视图(老版本) drop view v ...

  5. 使用virt-manager创建和管理虚拟机

    1.虚拟机管理程序和虚拟机管理 一个服务器上只安装单一操作系统的时代已经过去,单个服务器可通过安装多个虚拟机来运行不同操作系统.虚拟机的大量使用减少了所需的服务其硬件,降低了服务器的功耗,但却带来了另 ...

  6. hdfs 机架感知和复制因子的设置

    dfs.replication 新更新的复制因子的参数对原来的文件不起作用. 譬如说,原来的复制因子是2,则原来文件上传的时候就只有两个副本. 现在把dfs.replication设置为3,重新启动h ...

  7. OpenXml入门

    一. OpenXml简介: Open XML标准的简单介绍:Ecma Office Open XML(“Open XML”)是针对字处理文档.演示文稿和电子表格的国际化开放标准,可免费供多个应用程序在 ...

  8. sql中视图的作用

    视图是一个虚拟表,其内容由查询定义.同真实的表一样,视图包含一系列带有名称的列和行数据.但是,视图并不在数据库中以存储的数据值集形式存在.行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态 ...

  9. ATM模拟程序

    一个很简单的ATM模拟程序 #include <stdio.h> void chaxun(int a3){ int b; b=a3; printf("您的余额为:%d\n&quo ...

  10. UIGrid/UITable 性能优化

    性能优化 排行榜,邮件,关卡等数据列表项,一般在玩家打开面板时,都会重新刷新一次数据,那是否有必要每次都生成列表项呢? 假如每次列表的内容有变动就Instance 新的Gameobject,这是没有必 ...