一、前言

前面几篇文章中的控件基本上难度系数接近0,甚至有凑控件数量的嫌疑,这次必须来一个强悍的控件,本控件难度系数在所有控件中排前五,代码量也不少,头文件都550行,实现文件1600行,为什么这么多呢,其实本控件是由好多个子控件组成的,字母高亮背景类、中间字母分隔类、右侧字母导航类、通讯录按钮类、自定义滚动条类,我在写比较复杂的控件的时候,一般都会逐个功能拆分,然后思考是否该功能可以做成独立的类,这样管理起来比较方便,也方便查看代码。 最开始拿到这个控件需求的时候,也觉得不会简单,要求用纯QWidget实现,qml实现滑动等各种效果很方便,天生的优势,而QWidget就需要自己来实现了,需求主要是要求五点,能够批量和单个添加联系人信息(头像+姓名+标识)、能够滑动列表悬浮滚动条、能够自动按照字母分类、提供字母导航栏直接快速定位、单击联系人发出对应联系人的详细信息。

二、实现的功能

  • 1:可设置信息集合(图标+姓名+类型+电话)以及添加单个联系人
  • 2:可设置背景图片+背景颜色
  • 3:可设置右侧导航字母的列表+默认颜色+高亮颜色
  • 4:可设置联系人按钮姓名颜色+姓名字体
  • 5:可设置联系人按钮类型颜色+姓名字体
  • 6:可设置联系人按钮选中背景颜色
  • 7:可设置字母导航的风格(背景颜色+线条)
  • 8:可设置字母导航的颜色+字体大小
  • 9:可设置各种边距+联系人列数+元素间隔等
  • 10:支持悬浮滚动条,可设置悬停时间
  • 11:可设置悬浮滚动条的正常颜色+高亮颜色
  • 12:支持滑动,可设置滑动的步长速度
  • 13:支持单击右侧字母导航定位+文本突出显示
  • 14:单击发出当前联系人的姓名+类型+电话等信息
  • 15:根据汉字字母排序从小到大排列联系人,自带汉字转拼音功能

三、效果图

四、头文件代码

#ifdef quc

五、核心代码

void 

六、控件介绍

  1. 超过150个精美控件,涵盖了各种仪表盘、进度条、进度球、指南针、曲线图、标尺、温度计、导航条、导航栏,flatui、高亮按钮、滑动选择器、农历等。远超qwt集成的控件数量。
  2. 每个类都可以独立成一个单独的控件,零耦合,每个控件一个头文件和一个实现文件,不依赖其他文件,方便单个控件以源码形式集成到项目中,较少代码量。qwt的控件类环环相扣,高度耦合,想要使用其中一个控件,必须包含所有的代码。
  3. 全部纯Qt编写,QWidget+QPainter绘制,支持Qt4.6到Qt5.13的任何Qt版本,支持mingw、msvc、gcc等编译器,支持任意操作系统比如windows+linux+mac+嵌入式linux等,不乱码,可直接集成到Qt Creator中,和自带的控件一样使用,大部分效果只要设置几个属性即可,极为方便。
  4. 每个控件都有一个对应的单独的包含该控件源码的DEMO,方便参考使用。同时还提供一个所有控件使用的集成的DEMO。
  5. 每个控件的源代码都有详细中文注释,都按照统一设计规范编写,方便学习自定义控件的编写。
  6. 每个控件默认配色和demo对应的配色都非常精美。
  7. 超过130个可见控件,6个不可见控件。
  8. 部分控件提供多种样式风格选择,多种指示器样式选择。
  9. 所有控件自适应窗体拉伸变化。
  10. 集成自定义控件属性设计器,支持拖曳设计,所见即所得,支持导入导出xml格式。
  11. 自带activex控件demo,所有控件可以直接运行在ie浏览器中。
  12. 集成fontawesome图形字体+阿里巴巴iconfont收藏的几百个图形字体,享受图形字体带来的乐趣。
  13. 所有控件最后生成一个动态库文件(dll或者so等),可以直接集成到qtcreator中拖曳设计使用。
  14. 目前已经有qml版本,后期会考虑出pyqt版本,如果用户需求量很大的话。
  15. 自定义控件插件开放动态库使用(永久免费),无任何后门和限制,请放心使用。
  16. 目前已提供26个版本的dll,其中包括了qt5.12.3 msvc2017 32+64 mingw 32+64 的。
  17. 不定期增加控件和完善控件,不定期更新SDK,欢迎各位提出建议,谢谢!
  18. Qt入门书籍推荐霍亚飞的《Qt Creator快速入门》《Qt5编程入门》,Qt进阶书籍推荐官方的《C++ GUI Qt4编程》。
  19. 强烈推荐程序员自我修养和规划系列书《大话程序员》《程序员的成长课》《解忧程序员》,受益匪浅,受益终生!
  20. SDK下载链接:https://pan.baidu.com/s/1A5Gd77kExm8Co5ckT51vvQ 提取码:877p

qt qss设置字体大小_Qt编写自定义控件55-手机通讯录相关推荐

  1. qt qss设置字体大小_Qt编写自定义控件70-扁平化flatui

    一.前言 对于现在做前端开发人员来说,FlatUI肯定不陌生,最近几年扁平化的设计越来越流行,大概由于现在PC端和移动端的设备的分辨率越来越高,扁平化反而看起来更让人愉悦,而通过渐变色产生的质感色彩反 ...

  2. qt qss设置字体大小_Qt 第一步 HelloWorld 的第一个程序

    简言 Qt 是基于C++的 GUI 解决方案.QT简单易学(底层封装的好).跨平台.相关资料易得到. 开始写Qt 相关的文章的主要原因是,我本人在编写一个视频录制及相关处理的项目,写到一半发现.net ...

  3. qt creator 设置按键颜色_Qt编写自定义控件30-颜色多态按钮

    一.前言 这个控件一开始打算用样式表来实现,经过初步的探索,后面发现还是不够智能以及不能完全满足需求,比如要在此控件设置多个角标,这个用QSS就很难实现,后面才慢慢研究用QPainter来绘制,我记得 ...

  4. 在qt实现手机通讯录系统_Qt编写自定义控件55-手机通讯录

    一.前言 前面几篇文章中的控件基本上难度系数接近0,甚至有凑控件数量的嫌疑,这次必须来一个强悍的控件,本控件难度系数在所有控件中排前五,代码量也不少,头文件都550行,实现文件1600行,为什么这么多 ...

  5. qpushbutton 设置字体大小_QT设置QPushButton的Text字体颜色 | 学步园

    调色板类QPalette QPalette类包含了Qt窗口不见的颜色组(collor group); 1.Active组,该组的颜色用户当前活动的(active)窗口,即具有键盘或鼠标焦点的窗口; 2 ...

  6. QT怎么设置字体轮廓、字体位置、字体样式、字体间距、窗口背景色大小、隐藏鼠标图标

    QT怎么设置字体轮廓.字体位置.字体样式.字体间距.窗口背景色大小.隐藏鼠标图标 原创 2017年12月14日 19:05:21 标签: qt / ui 277 在qt中经常会对字体设置一些属性字体轮 ...

  7. Qt的label设置字体大小

    跳转到总目录.. 目录 方法一(使用ui布局): 方法二(使用代码): 方法一(使用ui布局): 选中label控件 搜索"font" 修改point size后面的值 方法二(使 ...

  8. vscode中设置字体大小_vscode配置使用教程

    vscode设置成中文 vscode默认的语言是英文,对于英文不好的小伙伴可能不太友好.简单几步教大家如何将vscode设置成中文. 按快捷键"Ctrl+Shift+P". 在&q ...

  9. idea html设置字体大小,intellij idea设置(字体大小、背景)

    1. 配置信息说明 Intellij Idea: 2017.2.5 2.具体设置 <1> 设置主题背景.字体大小 File---->Settings----->Appearan ...

最新文章

  1. 如何起诉一辆自动驾驶汽车?
  2. Python 精要参考(第二版) 第六章 函数与函数编程
  3. redis特点单进程单线程高性能服务器,Redis为什么是单线程?Redis又为什么这么快!...
  4. 李宏毅机器学习课程10~~~卷积神经网络
  5. 在物欲横流,心浮气躁的今天,毕业生靠什么来维持自己的梦想?
  6. html div float center,跨浏览器实现float:center
  7. 从中煤陕西公司看政企移动信息化应用
  8. php进销存项目视频教程,求北风网 企业级ERP进销存管理项目 全套视频
  9. lpop 原子_原子尺度表征神器STEM:同时获得原子分辨率晶体结构、成分和电子结构信息...
  10. 计算机3c认证 标准,计算机3C认证怎么办理,检测标准是什么?
  11. pe服务器注册表,在PE里如何修改系统注册表?U盘PE下修改本机注册表方法
  12. USB3.0 HUB方案之VL817-Q7
  13. 前段vue+后端接口PHP实现万年历(带上节假日天干地支凶吉星座神)
  14. oracle中imp命令详解
  15. 300ETF期权适合进行短线交易吗?
  16. python 桑基图 地理坐标_利用Python+Excel制作桑基(Sankey)图
  17. java数组下标越界的问题
  18. 2021年中国航天发射列表(55发见证历史)
  19. 验证用户名重复注册PHP
  20. 一文了解Amazon推荐系统20年变迁

热门文章

  1. mysql san 存储配置_如何搭建小型FC SAN环境
  2. 高端计算机教室,智慧教室和传统教室大比拼
  3. Android Studio主题设置
  4. GSVIEW 显示不完全
  5. 2023苹果CMS v10魔加主题1.1.6破解版 支持苹果CMS全部版本
  6. 支付宝支付-扫码支付详解
  7. python123平台作业答案第十二周_python周报第十二周
  8. 关于N阶楼梯上楼问题
  9. Mysql条件查询语句(二)
  10. java ipv6校验_IPv6验证