Qt 使用大神插件快速创建树状导航栏
前言
本博客仅仅记录自己的采坑过程以及帮助网友避坑,方便以后快速使用自定义控件,避免重复出错。
下载插件
大神 Github Qt 自定义控件项目地址:https://github.com/feiyangqingyun/qucsdk
插件简介
- 1:设置节点数据相当方便,按照对应格式填入即可,分隔符,
- 2:可设置提示信息 是否显示+宽度
- 3:可设置行分隔符 是否显示+高度+颜色
- 4:可设置选中节点线条突出显示+颜色+左侧右侧位置
- 5:可设置选中节点三角形突出显示+颜色+左侧右侧位置
- 6:可设置父节点的 选中颜色+悬停颜色+默认颜色
- 7:可设置子节点的 选中颜色+悬停颜色+默认颜色
- 8:可设置父节点文字的 图标边距+左侧距离+字体大小+高度
- 9:可设置子节点文字的 图标边距+左侧距离+字体大小+高度
- 10:可设置节点展开模式 单击+双击+禁用
使用插件
插件法的自定义控件使用,务必保证编译器完全一致。
将对应的quc.dll和libquc.a 或者 quc.lib(MSVC编译器才有)集成到项目中。
使用到哪个控件,只需要将对应控件的头文件集成到项目中即可。集成方法是将该头文件复制到sdk目录(因为pro文件写的是从sdk目录读取头文件),也可以自己定义目录。
项目的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 使用大神插件快速创建树状导航栏的更多相关文章
- Qt编写自定义控件46-树状导航栏
一.前言 树状导航栏控件是所有控件中最牛逼最经典最厉害的一个,在很多购买者中,使用频率也是最高,因为该导航控件集合了非常多的展示效果,比如左侧图标+右侧箭头+元素前面的图标设置+各种颜色设置等,全部涵 ...
- jquery自定义插件-参数化配置多级菜单导航栏插件
1 自定义菜单导航栏插件的必要性 看图说话,下面是利用自定义的菜单导航栏插件simpleMenu创建的网站导航示例: 插件默认提供的是如上图的导航栏样式,即一二级菜单为横向分布:三四级菜单为纵向分布. ...
- 遍历json创建树状表(首先的前提条件是要引入jquery的jquery treeTable插件)
"root":{ "children":[ { "name":"AA", "children":[ ...
- zblog插件增加后台导航栏的方法
有时我们经常需要对插件进行设置,但是又不能让用户去做这些,那么下面的方法将会给插件增加在后台导航栏显示的功能 首先打开对应插件的文件夹,找到对应插件的 include.php 文件 将下面的代码粘 ...
- 在 Sublime Text 2 中使用 SFTP 插件快速编辑远程服务器文件
在 Sublime Text 2 中使用 SFTP 插件快速编辑远程服务器文件 开源程序 浏览:29555 2013年05月02日 文章目录[隐藏] 常见的工作流程 SFTP 安装和使用方法 第一步: ...
- webform 创建树
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI ...
- QT visual stuido 集成插件不能打开ui文件的解决方法(去掉xml的UTF8标记)
QT visual stuido 集成插件不能打开ui文件的解决方法 visual studio里不能打开这个ui文件,出现warning等解决方法是:于是将<?xml version=&quo ...
- Qt中如何 编写插件 加载插件 卸载插件
Qt中如何 编写插件 加载插件 卸载插件是本文要介绍的内容.Qt提供了一个类QPluginLoader来加载静态库和动态库,在Qt中,Qt把动态库和静态库都看成是一个插件,使用QPluginLoade ...
- Delphi使用大图标编译程序
在Windows Vista. Windows7以上Windows系统中可以支持大图标显示了,但是Delphi编译出来的程序却只能显示32x32的图标,这使Delphi编译的程序看起来很不专业.下面就 ...
随机推荐
- 大白话透彻讲解 Promise 的使用,读完你就懂了
一.为什么使用Promise? 我们知道 js 执行的时候,一次只能执行一个任务,它会阻塞其他任务.由于这个缺陷导致 js 的所有网络操作,浏览器事件,都必须是异步执行.异步执行可以使用回调函数执行. ...
- Python生成桌面应用
1.cd进入project所在根目录 2.pyinstaller -F demo.py --noconsole 3.自定义图标 选择ico格式图标发在project目录 4.pyinstaller - ...
- 浅聊Linux的五种IO模型
在日常 Coding 中,多多少少都会接触到网络 IO,就会想要深入了解一下.看了很多文章,总是云里雾里的感觉,直到读了<UNIX网络编程 卷1:套接字联网API>中的介绍后,才豁然开朗. ...
- Redis之品鉴之旅(一)
Redis之品鉴之旅(一) 好知识就如好酒,需要我们坐下来,静静的慢慢的去品鉴.Redis作为主流nosql数据库,在提升性能的方面是不可或缺的.下面就拿好小板凳,我们慢慢的来一一品鉴. 1)redi ...
- Maven----将手动下载的jar包以命令行的方式安装到本地MavenRepository中
1.情景再现:准备实现SprintBoot的热部署功能,因没有对应jar时,在Eclipse中mvn install 会报错: 报错信息: [INFO] --- spring-boot-maven-p ...
- PHP的SPL扩展库(一)数据结构
SPL 库也叫做 PHP 标准库,主要就是用于解决典型问题的一组接口或类的集合.这些典型问题包括什么呢?比如我们今天要讲的数据结构,还有一些设计模式的实现,就像我们之前讲过的观察者模式相关的接口在 S ...
- transformers---BERT
transformers---BERT BERT模型主要包括两个部分,encoder和decoder,encoder可以理解为一个加强版的word2vec模型,以下是对于encoder部分的内容 预训 ...
- 洛谷3769[CH弱省胡策R2]TATT (KDTree)(四维LIS)
真是一个自闭的题目(调了一个上午+大半个下午) 从\(WA\)到\(WA+TLE\)到\(TLE\)到\(AC\) 真的艰辛. 首先,这个题,我们可以考虑直接上四维KDTree来解决. 对于kdtre ...
- Python&Selenium 数据驱动测试【unittest+ddt+xml】
一.摘要 本博文将介绍Python和Selenium做自动化测试时,基于unittest框架,借助ddt模块,使用xml文件作为测试输入. 二.xml文件 保存路径:D:\\Programs\\Pyt ...
- 后缀自动机(SAM)奶妈式教程
后缀自动机(SAM) 为了方便,我们做出如下约定: "后缀自动机" (Suffix Automaton) 在后文中简称为 SAM . 记 \(|S|\) 为字符串 \(S\) 的长 ...