ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
colorpushbutton.cpp
Go to the documentation of this file.
1 // ----------------------------------------------------------------------------
2 // - CloudViewer: www.cloudViewer.org -
3 // ----------------------------------------------------------------------------
4 // Copyright (c) 2018-2024 www.cloudViewer.org
5 // SPDX-License-Identifier: MIT
6 // ----------------------------------------------------------------------------
7 
8 #include "colorpushbutton.h"
9 
10 #include <QColorDialog>
11 
12 #include "colorcombobox.h"
13 
14 namespace Widgets {
15 
26 ColorPushButton::ColorPushButton(QWidget *parent) : QtColorPicker(parent) {
27  QStringList color_names = ColorComboBox::defaultColorNames();
28  QList<QColor> defaultColors = ColorComboBox::defaultColors();
29  for (int i = 0; i < ColorComboBox::numPredefinedColors(); i++)
30  insertColor(defaultColors[i], color_names[i]);
31 
32  QList<QColor> colors = ColorComboBox::colorList();
33  color_names = ColorComboBox::colorNames();
34  for (int i = 0; i < colors.count(); i++) {
35  QColor c = colors[i];
36  if (!defaultColors.contains(c)) insertColor(c, color_names[i]);
37  }
38 
39  connect(this, SIGNAL(colorChanged(const QColor &)), this,
40  SIGNAL(colorChanged()));
41 }
42 
44 
45 } // namespace Widgets
static QList< QColor > defaultColors()
获取默认颜色列表.
static QStringList defaultColorNames()
获取默认颜色名列表.
static QStringList colorNames()
获取颜色下拉框的颜色名称列表.
static QList< QColor > colorList()
获取颜色下拉框的颜色列表.
static int numPredefinedColors()
获取颜色下拉框内置颜色数.
ColorPushButton(QWidget *parent=0)
构造拾色器按钮类, 初始化拾色器按钮.
void insertColor(const QColor &color, const QString &text=QString(), int index=-1)
double colors[3]