前言

本博客仅仅记录自己的采坑过程以及帮助网友避坑,方便以后快速使用自定义控件,避免重复出错。

下载插件

大神 Github Qt 自定义控件项目地址:https://github.com/feiyangqingyun/qucsdk

插件简介

  • 1:设置节点数据相当方便,按照对应格式填入即可,分隔符,
  • 2:可设置提示信息 是否显示+宽度
  • 3:可设置行分隔符 是否显示+高度+颜色
  • 4:可设置选中节点线条突出显示+颜色+左侧右侧位置
  • 5:可设置选中节点三角形突出显示+颜色+左侧右侧位置
  • 6:可设置父节点的 选中颜色+悬停颜色+默认颜色
  • 7:可设置子节点的 选中颜色+悬停颜色+默认颜色
  • 8:可设置父节点文字的 图标边距+左侧距离+字体大小+高度
  • 9:可设置子节点文字的 图标边距+左侧距离+字体大小+高度
  • 10:可设置节点展开模式 单击+双击+禁用

使用插件

  1. 插件法的自定义控件使用,务必保证编译器完全一致。

  2. 将对应的quc.dll和libquc.a 或者 quc.lib(MSVC编译器才有)集成到项目中。

  3. 使用到哪个控件,只需要将对应控件的头文件集成到项目中即可。集成方法是将该头文件复制到sdk目录(因为pro文件写的是从sdk目录读取头文件),也可以自己定义目录。

  4. 项目的pro文件加入代码

    INCLUDEPATH += $$PWD/sdk
    
    CONFIG(debug, debug|release){
    LIBS += -L$$PWD/sdk/ -lqucd
    } else {
    LIBS += -L$$PWD/sdk/ -lquc
    }

    编译完成以后记得将动态库文件复制到可执行文件同一目录即可。

    查询大神提供的插件表查询插件头文件按上述过程添加即可

修改图标

 ui->listView->setItems("图书管理||0||,查询图书|图书管理|||0xf002,新增图书|图书管理|||0xf067,逾期管理||0||,查询逾期|逾期管理|||0xf002,账户管理||0||,查询读者|账户管理|||0xf002,新增读者|账户管理|||0xf067");

多次研究尝试后发现这些十六进制均是字体图标,到字体图标网站查询替换成自己喜欢的的免费图标

Font Awesome 图标地址: https://fontawesome.com/cheatsheet/free/solid

调用实例

ui->listView->setParentFontSize(22);		//设置父节点字体大小
ui->listView->setParentMargin(70); //设置父节点文字偏移距离
ui->listView->setParentHeight(48); //设置父节点高度
//设置父节点的 选中颜色+悬停颜色+默认颜色
ui->listView->setParentBgNormalColor(QColor(19,161,255));
ui->listView->setParentBgSelectedColor(QColor(84,110,255));
ui->listView->setParentBgHoverColor(QColor(84,110,255)); ui->listView->setChildFontSize(18); //设置子点字体大小
ui->listView->setChildMargin(110); //设置子点文字偏移距离
ui->listView->setChildIconMargin(80); //设置子点图标距离
ui->listView->setChildHeight(40); //设置子点高度
//子节点的 选中颜色+悬停颜色+默认颜色
ui->listView->setChildBgNormalColor(QColor(172,217,255));
ui->listView->setChildBgHoverColor(QColor(84,110,255));
ui->listView->setChildBgSelectedColor(QColor(84,110,255));
ui->listView->setChildTextNormalColor(QColor(0,0,0)); //设置子点文字默认颜色 // 管理||0|| 父节点 查询图书|图书管理|||0xf002 子节点
ui->listView->setItems("图书管理||0||,查询图书|图书管理|||0xf002,新增图书|图书管理|||0xf067,逾期管理||0||,查询逾期|逾期管理|||0xf002,账户管理||0||,查询读者|账户管理|||0xf002,新增读者|账户管理|||0xf067");

其他样式设置自行查看对应自定义控件头文件方法列表

注意问题

这个自定义控件是基于listView控件改写的,需要在UI界面拖一个 listView 控件 提升为自定义控件使用

Qt 使用大神插件快速创建树状导航栏的更多相关文章

  1. Qt编写自定义控件46-树状导航栏

    一.前言 树状导航栏控件是所有控件中最牛逼最经典最厉害的一个,在很多购买者中,使用频率也是最高,因为该导航控件集合了非常多的展示效果,比如左侧图标+右侧箭头+元素前面的图标设置+各种颜色设置等,全部涵 ...

  2. jquery自定义插件-参数化配置多级菜单导航栏插件

    1 自定义菜单导航栏插件的必要性 看图说话,下面是利用自定义的菜单导航栏插件simpleMenu创建的网站导航示例: 插件默认提供的是如上图的导航栏样式,即一二级菜单为横向分布:三四级菜单为纵向分布. ...

  3. 遍历json创建树状表(首先的前提条件是要引入jquery的jquery treeTable插件)

    "root":{ "children":[ { "name":"AA", "children":[ ...

  4. zblog插件增加后台导航栏的方法

    有时我们经常需要对插件进行设置,但是又不能让用户去做这些,那么下面的方法将会给插件增加在后台导航栏显示的功能 首先打开对应插件的文件夹,找到对应插件的  include.php  文件 将下面的代码粘 ...

  5. 在 Sublime Text 2 中使用 SFTP 插件快速编辑远程服务器文件

    在 Sublime Text 2 中使用 SFTP 插件快速编辑远程服务器文件 开源程序 浏览:29555 2013年05月02日 文章目录[隐藏] 常见的工作流程 SFTP 安装和使用方法 第一步: ...

  6. webform 创建树

    using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI ...

  7. QT visual stuido 集成插件不能打开ui文件的解决方法(去掉xml的UTF8标记)

    QT visual stuido 集成插件不能打开ui文件的解决方法 visual studio里不能打开这个ui文件,出现warning等解决方法是:于是将<?xml version=&quo ...

  8. Qt中如何 编写插件 加载插件 卸载插件

    Qt中如何 编写插件 加载插件 卸载插件是本文要介绍的内容.Qt提供了一个类QPluginLoader来加载静态库和动态库,在Qt中,Qt把动态库和静态库都看成是一个插件,使用QPluginLoade ...

  9. Delphi使用大图标编译程序

    在Windows Vista. Windows7以上Windows系统中可以支持大图标显示了,但是Delphi编译出来的程序却只能显示32x32的图标,这使Delphi编译的程序看起来很不专业.下面就 ...

随机推荐

  1. SonarQube汉化

    SonarQube安装后默认是英文,如果不习惯看英文,可以进行汉化,官方提供了汉化插件. 登录后,汉化步骤如下: 需要点击了解风险,不然查询到插件后没有install按钮 搜索Chinese,找到插件 ...

  2. Dapr + .NET Core实战(八)服务监测

    服务监测 分布式服务性能指标,链路追踪,运行状况,日志记录都很重要,我们日常开发中为了实现这些功能需要集成很多功能,替换监控组件时成本也很高. Dapr 可观测性模块将服务监测与应用程序分离.它自动捕 ...

  3. NOIP 模拟四 考试总结

    #T1随 又是liu_................... 数列n,m个操作,每次随机取a[i],x=x*a[i]%k; 问题是求x期望%mod; 首先考虑到期望转移过程中存在%k,一般套路线性期望 ...

  4. C++学习 1 数组

    一维数组: 定义:1.数据类型 数组名 [ 数组长度 ]: int arr [5];//赋值 arr[0]=10; arr[1]=20; arr[2]=30; arr[3]=40; arr[4]=50 ...

  5. 我们携手啦 | SphereEx 正式加入 openGauss 社区

    近日,SphereEx 签署 CLA ( Contribution License Agreement,贡献许可协议),正式加入 openGauss 社区. SphereEx 和 openGauss ...

  6. 时序数据库InfluxDB的基本语法

    一 了解InfluxDB的必要性 时序数据库主要存放的数据 Time series data is a series of data points each associated with a spe ...

  7. 【集成学习】:Stacking原理以及Python代码实现

    Stacking集成学习在各类机器学习竞赛当中得到了广泛的应用,尤其是在结构化的机器学习竞赛当中表现非常好.今天我们就来介绍下stacking这个在机器学习模型融合当中的大杀器的原理.并在博文的后面附 ...

  8. SoapUI入门实例

    一.Soapui介绍 WSDL(Web Services Description Language)就是这样一个基于XML的语言,用于描述Web Service及其函数.参数和返回值.它是WebSer ...

  9. Setoolkit部署

    禁止使用本文的知识进行违法犯罪活动!!学习这些内容是为了更好的防范钓鱼网站 详见我的github仓库 Setoolkit : Social-Engineer Toolkit(社会工程学工具包) 其作为 ...

  10. cassandra表中主键的类型

    cassandra表中主键的类型及区分? 一.类型及区分 二.参考文章 一.类型及区分 Cassandra的4种Key Primary Key 主键 Composite Key,Compound Ke ...