| 20 | #include <QVBoxLayout> |
| 21 | |
| 22 | T_Popup::T_Popup(QWidget* parent) |
| 23 | : T_BasePage(parent) |
| 24 | { |
| 25 | // 预览窗口标题 |
| 26 | setWindowTitle("ElaPopup"); |
| 27 | |
| 28 | // 顶部元素 |
| 29 | createCustomWidget("一些常用的弹出组件被放置于此,可在此界面体验其效果并按需添加进项目中"); |
| 30 | |
| 31 | QWidget* centralWidget = new QWidget(this); |
| 32 | centralWidget->setWindowTitle("ElaPopup"); |
| 33 | |
| 34 | _toolButton = new ElaToolButton(this); |
| 35 | _toolButton->setIsTransparent(false); |
| 36 | _toolButton->setToolButtonStyle(Qt::ToolButtonTextUnderIcon); |
| 37 | //_toolButton->setPopupMode(QToolButton::MenuButtonPopup); |
| 38 | _toolButton->setText("ElaToolButton"); |
| 39 | |
| 40 | ElaMenu* menu = new ElaMenu(this); |
| 41 | menu->addElaIconAction(ElaIconType::JackOLantern, "JackOLantern"); |
| 42 | menu->addElaIconAction(ElaIconType::LacrosseStick, "LacrosseStick"); |
| 43 | _toolButton->setMenu(menu); |
| 44 | _toolButton->setElaIcon(ElaIconType::Broom); |
| 45 | |
| 46 | ElaScrollPageArea* toolButtonArea = new ElaScrollPageArea(this); |
| 47 | QHBoxLayout* toolButtonLayout = new QHBoxLayout(toolButtonArea); |
| 48 | ElaText* toolButtonText = new ElaText("ElaToolButton", this); |
| 49 | toolButtonText->setTextPixelSize(15); |
| 50 | toolButtonLayout->addWidget(toolButtonText); |
| 51 | toolButtonLayout->addWidget(_toolButton); |
| 52 | toolButtonLayout->addStretch(); |
| 53 | |
| 54 | _colorDialog = new ElaColorDialog(this); |
| 55 | ElaText* colorText = new ElaText(_colorDialog->getCurrentColorRGB(), this); |
| 56 | colorText->setTextPixelSize(15); |
| 57 | ElaPushButton* colorDialogButton = new ElaPushButton(this); |
| 58 | colorDialogButton->setFixedSize(35, 35); |
| 59 | colorDialogButton->setLightDefaultColor(_colorDialog->getCurrentColor()); |
| 60 | colorDialogButton->setLightHoverColor(_colorDialog->getCurrentColor()); |
| 61 | colorDialogButton->setLightPressColor(_colorDialog->getCurrentColor()); |
| 62 | colorDialogButton->setDarkDefaultColor(_colorDialog->getCurrentColor()); |
| 63 | colorDialogButton->setDarkHoverColor(_colorDialog->getCurrentColor()); |
| 64 | colorDialogButton->setDarkPressColor(_colorDialog->getCurrentColor()); |
| 65 | connect(colorDialogButton, &ElaPushButton::clicked, this, [=]() { |
| 66 | _colorDialog->exec(); |
| 67 | }); |
| 68 | connect(_colorDialog, &ElaColorDialog::colorSelected, this, [=](const QColor& color) { |
| 69 | colorDialogButton->setLightDefaultColor(color); |
| 70 | colorDialogButton->setLightHoverColor(color); |
| 71 | colorDialogButton->setLightPressColor(color); |
| 72 | colorDialogButton->setDarkDefaultColor(color); |
| 73 | colorDialogButton->setDarkHoverColor(color); |
| 74 | colorDialogButton->setDarkPressColor(color); |
| 75 | colorText->setText(_colorDialog->getCurrentColorRGB()); |
| 76 | }); |
| 77 | |
| 78 | ElaScrollPageArea* colorDialogArea = new ElaScrollPageArea(this); |
| 79 | QHBoxLayout* colorDialogLayout = new QHBoxLayout(colorDialogArea); |
nothing calls this directly
no test coverage detected