QT-纯代码控件-QToolBox(抽屉控件)_qt 抽屉控件 开源-程序员宅基地

技术标签: QT  

实现一个简单的抽屉展示功能

1.新建一个无ui界面的工程,其基类为dialog对话框

在这里插入图片描述

2.代码实现

dialog.h

添加头文件

#include <QToolBox>		//添加控件

Dialog类中添加私有控件声明

private:
    QToolBox * toolBox;	//控件声明
dialog.cpp
#include "dialog.h"
#include <QPushButton>
#include <QIcon>		//引用图标头文件

Dialog::Dialog(QWidget *parent)
    : QDialog(parent)
{
    
    toolBox = new QToolBox(this);       	//新建一个QToolBox
    //新建一个wigedt,添加到QToolBox中
    QWidget * widget = new QWidget(toolBox);
    QIcon iconf1(":/img/animal/hourse.ico");
    QPushButton * button1 = new QPushButton(iconf1,"马",widget);  //添加图标
    QIcon iconf2(":/img/animal/cattle.ico");
    QPushButton * button2 = new QPushButton(iconf2,"牛",widget);  //添加图标
    widget->setGeometry(0,0,40,80);     	//设置窗口大小
    button1->setGeometry(10,5,120,60);   	//设置按钮大小
    button2->setGeometry(10,70,120,60);  	//设置按钮大小

    //向QToolBox中添加第一个抽屉,名字为动物
    toolBox->addItem(widget,"动物");
    QIcon iconannimal(":/img/animal/tiger.ico");
    toolBox->setItemIcon(0,iconannimal);    //设置第一个抽屉的图标

    //新建一个QPushButton添加到QToolBox中
    QIcon iconlu(":/img/animal/lu.ico");
    QPushButton * buttonotherannimal = new QPushButton(iconlu,"鹿");

    //向QToolBox中添加第二个抽屉,名字为其他动物
    toolBox->addItem(buttonotherannimal,"其他动物");
    QIcon iconpig(":/img/animal/pig.ico");
    toolBox->setItemIcon(1,iconpig);
    toolBox->setGeometry(0,0,130,200);
    this->resize(130,200);
    this->setWindowTitle("抽屉演示");

}

Dialog::~Dialog()
{
    

}

3.效果展示

在这里插入图片描述
在这里插入图片描述

4.不足与可改进之处

1.后期可以用以实现更多层叠窗体页面功能
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_41488943/article/details/96433099

智能推荐

c++ timer-程序员宅基地

文章浏览阅读442次。https://www.cnblogs.com/yunlambert/p/10226468.html#include <iostream>#include <thread>#include <chrono>#include<functional>using namespace std;class Timer { bool clear = false;public: template<typename T> void set_c++ timer

数据结构_顺序查找(C语言)_数据结构顺序查找c语言代码-程序员宅基地

文章浏览阅读1.4w次,点赞29次,收藏172次。从表的一端开始,依次将表中的关键字和给定的值进行比较,若表中的关键字和给定的值相等,则查找成功,反之查找失败。_数据结构顺序查找c语言代码

如何打开虚拟机服务器,虚拟机怎么打开ssh服务器-程序员宅基地

文章浏览阅读1.1k次。虚拟机怎么打开ssh服务器 内容精选换一换本手册介绍如何安装Mind Studio以及安装过程中的故障处理方法。Mind Studio只能安装在Ubuntu服务器上,可以在Ubuntu服务器上使用原生桌面自带的终端gnome-terminal进行安装,也可以在Windows服务器上通过SSH登录到Ubuntu服务器进行安装,因为Mind Studio是一款GUI程序,所以在Win本节操作介绍在Wi..._虚拟机如何进入ssh

【雕爷学编程】Arduino 手册之三角函数 sin()_arduino sin-程序员宅基地

文章浏览阅读928次,点赞3次,收藏11次。sin() 是 Arduino 数学库中的一个函数,它的作用是计算一个角度的正弦值。Arduino 2005 年时面世,作为意大利伊夫雷亚地区伊夫雷亚互动设计研究所的学生设计,目的是为新手和专业人员提供一种低成本且简单的方法,以建立使用传感器与环境相互作用的装置。可以使用 sin() 函数和反正弦函数 asin() 来计算每秒钟物体沿着圆周移动的弧长对应的弧度值,然后除以 PI 得到相对于圆心的角度变化。在使用sin()函数计算角度的正弦值时,确保输入的角度值在正确的范围内。_arduino sin

用Servlet+jsp+mysql写项目时,使用C3p0连接池连接数据库,启动服务出现以下错误:mysql APPARENT DEADLOCK!!!-程序员宅基地

文章浏览阅读566次。用Servlet+jsp+mysql写项目时,使用C3p0连接池连接数据库,启动服务出现以下错误:mysql APPARENT DEADLOCK!!!控制台出现的异常如下:com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@536b0935 – APPARENT DEADLOCK!!! Complete Stat..._mysql apparent deadlock

【计算机考研】 408大题怎么复习最有效?看这一篇!_408大题怎么准备-程序员宅基地

文章浏览阅读882次,点赞8次,收藏23次。24变化较大的是选择题,出现了很多冷门知识点。当然,考试不是一成不变的。时间长了,考试的形式、内容都会变。光靠过去的题目,有可能漏掉新题型,到时候就傻眼了。考研408大题虽然整体来看难度和往年相识,但是每年还是会出一些新考点,例如今年的计网BGP,所以最重要的还是掌握知识点。再说了,考试可不只是考你知识储备,更考的是综合能力和解题方法。这些东西可不是光靠做题就能练出来的,得花点心思,多想想,多琢磨琢磨。光凭做真题,你可别指望能应付得了所有情况。总的来说,真题固然重要,但可不能当成唯一标准。_408大题怎么准备

随便推点

Android wear 2.0发布,完全体 Android Wear 2.0发布-程序员宅基地

文章浏览阅读125次。原标题:完全体 Android Wear 2.0发布 在北京时间今天凌晨的谷歌I/O大会上,谷歌推出了其可穿戴设备操作系统Android Wear的2.0版本,该版本之中最大的特色为允许智能手表脱离智能手机独立运行。在本次Android Wear 2.0更新之中,智能手表将可以通过蓝牙、Wi-Fi甚至移动网络(只要硬件上支持)直接和互联网传输信息,同时此特性也将允许使用Android Wear智能..._android headlines, report: android wear 2.0 will bring android pay to ios.

pyChram导入xlrd库操作xlsx文件报错,解决办法_pycham不支持xlsx-程序员宅基地

文章浏览阅读435次。首先需要命令行输入pip uninstall xlrd 卸载新版本的xlrd,然后输入pip uninstall xlrd==1.2.0,指定安装1.2.0版本的xlrd。pyChram导入xlrd库操作xlsx文件报错:xlrd.biffh.XLRDError: Excel xlsx file;原因是:新版本(2.0.1)的xlrd因安全问题不支持xlsx格式,可以降低xlrd的版本。_pycham不支持xlsx

C语言经典算法之哈希查找_编写函数实现按关键字进行哈希查找,记录比较次数。若查找成功返回哈希表中的位置,-程序员宅基地

文章浏览阅读774次,点赞19次,收藏25次。哈希查找是一种高效的数据检索技术,它利用哈希函数将数据映射到一个固定大小的数组(即哈希表)中。_编写函数实现按关键字进行哈希查找,记录比较次数。若查找成功返回哈希表中的位置,

printf的实现,my_printf_my_printf.h-程序员宅基地

文章浏览阅读623次。1 #ifndef __PRINT_H_ 2 #define __PRINT_H_ 3 4 void print(char* fmt, ...); 5 void printch(char ch); 6 void printdec(int dec); 7 void printflt(double flt); 8 void printbin(_my_printf.h

LUA教程算术运算的Metamethods-52_bad argument #1 to 'pairs-程序员宅基地

文章浏览阅读1.7k次。这一部分我们通过一个简单的例子介绍如何使用metamethods。假定我们使用table来描述结合,使用函数来描述集合的并操作,交集操作,like操作。我们在一个表内定义这些函数,然后使用构造函数创建一个集合:Set = {}function Set.new (t) local set = {} for _, l in ipairs(t) do set[l] = true end return setend function Set.union (a,b) .._bad argument #1 to 'pairs

微信小程序ar识别_微信小程序识别物品弹出ar动画-程序员宅基地

文章浏览阅读836次。ar识别示例库代码片段_微信小程序识别物品弹出ar动画