SARibbon 2.5.1
SARibbon wiki
载入中...
搜索中...
未找到
SAColorGridWidget.h
1#ifndef SACOLORGRIDWIDGET_H
2#define SACOLORGRIDWIDGET_H
3#include <QWidget>
4#include <functional>
5#include "SAColorWidgetsGlobal.h"
6class QAbstractButton;
19class SA_COLOR_WIDGETS_API SAColorGridWidget : public QWidget
20{
21 Q_OBJECT
22 SA_COLOR_WIDGETS_DECLARE_PRIVATE(SAColorGridWidget)
23 Q_PROPERTY(int spacing READ spacing WRITE setSpacing)
24public:
25 using FunColorBtn = std::function< void(SAColorToolButton*) >;
26
27public:
28 SAColorGridWidget(QWidget* par = nullptr);
30 // 设置列数,行数量会根据列数量来匹配,如果设置-1或者0,说明不限定列数量,这样会只有一行
31 void setColumnCount(int c);
32 int columnCount() const;
33 // 设置当前的颜色列表
34 void setColorList(const QList< QColor >& cls);
35 QList< QColor > getColorList() const;
36 // 间隔
37 int spacing() const;
38 void setSpacing(int v);
39 // 获取颜色的数量
40 int colorCount() const;
41 // 图标的尺寸
42 void setColorIconSize(const QSize& s);
43 QSize colorIconSize() const;
44 // 设置颜色是否是checkable
45 void setColorCheckable(bool on = true);
46 bool isColorCheckable() const;
47 // 获取当前选中的颜色
48 QColor currentCheckedColor() const;
49 // 获取index对于的colorbutton
50 SAColorToolButton* colorButton(int index) const;
51 // 垂直间距
52 void setVerticalSpacing(int v);
53 int verticalSpacing() const;
54 // 水平间距
55 void setHorizontalSpacing(int v);
56 int horizontalSpacing() const;
57 // 清除当前选中状态,这时没有颜色是选中的
58 void clearCheckedState();
59 // 对所有的colorbtn就行遍历处理,可以通过此函数进行tooltip设置等操作
60 void iterationColorBtns(FunColorBtn fn);
61 // 设置行最小高度
62 void setRowMinimumHeight(int row, int minSize);
63 // 让颜色块左对齐
64 void setHorizontalSpacerToRight(bool on = true);
65private Q_SLOTS:
66 void onButtonClicked(QAbstractButton* btn);
67 void onButtonPressed(QAbstractButton* btn);
68 void onButtonReleased(QAbstractButton* btn);
69 void onButtonToggled(QAbstractButton* btn, bool on);
70
71Q_SIGNALS:
77 void colorClicked(const QColor& c);
78 void colorPressed(const QColor& c);
79 void colorReleased(const QColor& c);
80 void colorToggled(const QColor& c, bool on);
81
82public:
83 virtual QSize sizeHint() const Q_DECL_OVERRIDE;
84};
85namespace SA
86{
91SA_COLOR_WIDGETS_API QList< QColor > getStandardColorList();
92}
93#endif // SACOLORGRIDWIDGET_H
一个grid的Color布局
Definition SAColorGridWidget.h:20
void colorClicked(const QColor &c)
对于check模式,check的颜色触发的信号
这是一个只显示颜色的toolbutton
Definition SAColorToolButton.h:41