zl程序教程

您现在的位置是:首页 >  工具

当前栏目

Qt编写自定义控件30-颜色多态按钮

Qt 自定义 控件 编写 颜色 30 按钮 多态
2023-09-14 09:01:41 时间

一、前言

这个控件一开始打算用样式表来实现,经过初步的探索,后面发现还是不够智能以及不能完全满足需求,比如要在此控件设置多个角标,这个用QSS就很难实现,后面才慢慢研究用QPainter来绘制,我记得当时接到这个定制控件任务的时候是2016年,那时候对QPainter的使用还不是很熟悉,也就是从此控件开始,逐步研究QPainter的绘制,把所有的内置函数都使用一遍,最终用的越来越熟悉,使得后来到了心中有坐标,万物皆painter的境界,可能就像武林中所说的打通了任督二脉吧。
本控件除了可以设置常规的圆角角度,边框宽度,边框颜色,正常颜色,按下颜色以外,还可以设置各个角标和正文文字内容/字体/对齐方式/颜色,同时还要提供三种颜色展示模式,松开按下两种颜色,按下松开颜色上下交替,按下松开颜色渐变交替。QLinearGradient是个好东西,各种颜色交替效果全靠它来实现。

二、实现的功能

  • 1:可设置圆角角度,边框宽度
  • 2:可设置角标和正文文字内容/字体/对齐方式/颜色
  • 3:可设置边框颜色,正常颜色,按下颜色
  • 4:可设置背景图片
  • 5:可设置按钮颜色模式

三、效果图

在这里插入图片描述

四、头文件代码

#ifndef COLORBUTTON_H
#define COLORBUTTON_H

/**
 * 多样式超级按钮控件 作者