MCPcopy Create free account
hub / github.com/Liniyous/ElaWidgetTools / ElaColorDialog

Method ElaColorDialog

ElaWidgetTools/ElaColorDialog.cpp:23–283  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

21#include "ElaToolButton.h"
22Q_TAKEOVER_NATIVEEVENT_CPP(ElaColorDialog, d_func()->_appBar);
23ElaColorDialog::ElaColorDialog(QWidget* parent)
24 : QDialog{parent}, d_ptr(new ElaColorDialogPrivate())
25{
26 Q_D(ElaColorDialog);
27 d->q_ptr = this;
28 setFixedSize(600, 600); // 默认宽高
29 setObjectName("ElaColorDialog");
30 setWindowTitle("ElaColorDialog");
31 setWindowModality(Qt::ApplicationModal);
32
33 // 自定义AppBar
34 d->_appBar = new ElaAppBar(this);
35 d->_appBar->setAppBarHeight(30);
36 d->_appBar->setIsFixedSize(true);
37 d->_appBar->setIsStayTop(true);
38 d->_appBar->setWindowButtonFlags(ElaAppBarType::CloseButtonHint);
39 d->_appBar->setIsDefaultClosed(false);
40 connect(d->_appBar, &ElaAppBar::closeButtonClicked, this, [=]() {
41 close();
42 });
43
44 // 颜色选择器
45 ElaText* colorPickerText = new ElaText("编辑颜色", this);
46 colorPickerText->setTextPixelSize(17);
47 QHBoxLayout* colorPickerTextLayout = new QHBoxLayout();
48 colorPickerTextLayout->setContentsMargins(0, 0, 0, 0);
49 colorPickerTextLayout->addSpacing(3);
50 colorPickerTextLayout->addWidget(colorPickerText);
51
52 d->_colorPicker = new ElaColorPicker(this);
53 connect(d->_colorPicker, &ElaColorPicker::selectedColorChanged, d, &ElaColorDialogPrivate::onColorPickerColorChanged);
54
55 QVBoxLayout* colorPickerLayout = new QVBoxLayout();
56 colorPickerLayout->setContentsMargins(0, 0, 0, 0);
57 colorPickerLayout->addWidget(d->_colorPicker);
58 colorPickerLayout->addStretch();
59
60 // 颜色预览
61 d->_colorPreview = new ElaColorPreview(this);
62 QVBoxLayout* colorPreviewLayout = new QVBoxLayout();
63 colorPreviewLayout->setContentsMargins(0, 0, 0, 0);
64 colorPreviewLayout->addWidget(d->_colorPreview);
65 colorPreviewLayout->addStretch();
66
67 // 颜色value控制
68 d->_colorValueSlider = new QSlider(this);
69 d->_colorValueSlider->setFixedHeight(257);
70 d->_colorValueSlider->setOrientation(Qt::Vertical);
71 d->_colorValueSlider->setRange(0, 255);
72 d->_colorValueSlider->setValue(255);
73 d->_colorValueSliderStyle = new ElaColorValueSliderStyle();
74 d->_colorValueSlider->setStyle(d->_colorValueSliderStyle);
75 connect(d->_colorValueSlider, &QSlider::valueChanged, d, &ElaColorDialogPrivate::onColorValueSliderChanged);
76 QVBoxLayout* colorValueSliderLayout = new QVBoxLayout();
77 colorValueSliderLayout->setContentsMargins(0, 0, 0, 0);
78 colorValueSliderLayout->addWidget(d->_colorValueSlider);
79 colorValueSliderLayout->addStretch();
80

Callers

nothing calls this directly

Calls 15

addWidgetMethod · 0.80
setFixedHeightMethod · 0.80
setRangeMethod · 0.80
setValueMethod · 0.80
setFixedSizeMethod · 0.80
addItemMethod · 0.80
_initBasicColorMethod · 0.80
_initCustomColorMethod · 0.80
setLightTextColorMethod · 0.80
setDarkTextColorMethod · 0.80
getThemeModeMethod · 0.80
setAppBarHeightMethod · 0.45

Tested by

no test coverage detected