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. django 验证用户是否登陆

    第一步 指定一下登陆url. url(r'^accounts/login/$', include(xadmin.site.urls)), 由于我用的xadmin故而指向了xadmin,如果使用默认的a ...

  2. Jquery mobile 中在列表项上使用单选按钮

      无意中发现可以在li上实现开关按钮 http://jsfiddle.net/Gajotres/pzfr2/                 触类旁通,终于实现了在li上增加单选按钮组   @mod ...

  3. NGINX高性能Web服务器详解(读书笔记)

    原文地址:NGINX高性能Web服务器详解(读书笔记) 作者:夏寥寥 第4章  Nginx服务器的高级配置 4.1 针对IPv4的内核7个参数的配置优化 说明:我们可以将这些内核参数的值追加到Linu ...

  4. 开窗函数 --over()

    一个学习性任务:每个人有不同次数的成绩,统计出每个人的最高成绩. 这个问题应该还是相对简单,其实就用聚合函数就好了. select id,name,max(score) from Student gr ...

  5. coursera机器学习笔记-机器学习概论,梯度下降法

    #对coursera上Andrew Ng老师开的机器学习课程的笔记和心得: #注:此笔记是我自己认为本节课里比较重要.难理解或容易忘记的内容并做了些补充,并非是课堂详细笔记和要点: #标记为<补 ...

  6. mongoDB怎样拷贝一个collection从一个数据库到另一个在同一个主机上

    new_database是目的数据库 db.<collection_name>.find().forEach(function(d){ db.getSiblingDB('<new_d ...

  7. Centos和Redhat的区别和联系

    网上看到的,转载给大家 CentOS与RedHat的关系: RedHat在发行的时候,有两种方式:二进制的发行方式以及源代码的发行方式.无论是哪一种发行方式,你都可以免费获得(例如从网上下载),并再次 ...

  8. Arch Linux sudo: PAM authentication error: Module is unknown [Solved!]

    问题描述: 我的 Arch Linux 已经用了快半年多,由于 Arch Linux 的滚挂问题,我从没有直接升级过系统.软件版本以及库自然落后了一些. 就在我准备需要用到 NFS 时,挂载网络文件系 ...

  9. [PHP]Yii2框架的坑

    [PHP]Yii2框架的坑.md-/Users/zjh/Documents/我的文章/[PHP]Yii2框架的坑 html{font-family: sans-serif;-ms-text-size- ...

  10. Stanford coursera Andrew Ng 机器学习课程编程作业(Exercise 1)

    Exercise 1:Linear Regression---实现一个线性回归 在本次练习中,需要实现一个单变量的线性回归.假设有一组历史数据<城市人口,开店利润>,现需要预测在哪个城市中 ...