标题:Qt编写自定义控件27-颜色按钮面板
作者:liudianwu
日期:2019-07-14 17:27
内容:
一、前言
颜色按钮面板主要用在提供一个颜色按钮面板,用户单击某个按钮,然后拿到对应的颜色值,用户可以预先设定常用的颜色集合,传入到控件中,自动生成面板颜色集合按钮,每当滑过按钮的时候,按钮边缘高亮提示当前所在颜色的按钮,当选中某个按钮时,右侧颜色条显示当前选中的颜色,此控件功能极其简单,直接采用动态生成按钮的方式,设置按钮的样式表来设置对应的颜色和高亮边框等,单击按钮发出颜色改变信号即可,对外提供该信号就行,非常适合初学者学习。
二、实现的功能
* 1:可设置颜色集合
* 2:可设置按钮圆角角度
* 3:可设置列数
* 4:可设置按钮边框宽度和边框颜色
三、效果图
四、头文件代码
#ifndef COLORPANELBTN_H
#define COLORPANELBTN_H
/**
* 颜色按钮面板 作者:feiyangqingyun(QQ:517216493) 2017-11-17
* 1:可设置颜色集合
* 2:可设置按钮圆角角度
* 3:可设置列数
* 4:可设置按钮边框宽度和边框颜色
*/
#include
class QGridLayout;
class QPushButton;
#ifdef quc
#if (QT_VERSION < QT_VERSION_CHECK(5,7,0))
#include
#else
#include
#endif
class QDESIGNER_WIDGET_EXPORT ColorPanelBtn : public QWidget
#else
class ColorPanelBtn : public QWidget
#endif
{
Q_OBJECT
Q_PROPERTY(int space READ getSpace WRITE setSpace)
Q_PROPERTY(int columnCount READ getColumnCount WRITE setColumnCount)
Q_PROPERTY(int borderRadius READ getBorderRadius WRITE setBorderRadius)
Q_PROPERTY(int borderWidth READ getBorderWidth WRITE setBorderWidth)
Q_PROPERTY(QColor borderColor READ getBorderColor WRITE setBorderColor)
public:
explicit ColorPanelBtn(QWidget *parent = 0);
private:
QGridLayout *gridLayout;
QList btns;
QStringList colors;
int space; ..