feat: 添加ElaWidgetTool库

This commit is contained in:
sleepwithoutbz
2025-09-19 22:40:52 +08:00
parent 5f93e8caf6
commit 4eef5c7fd5
407 changed files with 36325 additions and 7 deletions

View File

@@ -0,0 +1,39 @@
#include "ElaRadioButton.h"
#include "DeveloperComponents/ElaRadioButtonStyle.h"
#include "ElaTheme.h"
#include "private/ElaRadioButtonPrivate.h"
ElaRadioButton::ElaRadioButton(QWidget* parent)
: QRadioButton(parent), d_ptr(new ElaRadioButtonPrivate())
{
Q_D(ElaRadioButton);
d->q_ptr = this;
setFixedHeight(20);
QFont font = this->font();
font.setPixelSize(15);
setFont(font);
setStyle(new ElaRadioButtonStyle(style()));
d->onThemeChanged(eTheme->getThemeMode());
connect(eTheme, &ElaTheme::themeModeChanged, d, &ElaRadioButtonPrivate::onThemeChanged);
}
ElaRadioButton::ElaRadioButton(const QString& text, QWidget* parent)
: ElaRadioButton(parent)
{
setText(text);
}
ElaRadioButton::~ElaRadioButton()
{
delete this->style();
}
void ElaRadioButton::paintEvent(QPaintEvent* event)
{
Q_D(ElaRadioButton);
if (palette().color(QPalette::WindowText) != ElaThemeColor(d->_themeMode, BasicText))
{
d->onThemeChanged(d->_themeMode);
}
QRadioButton::paintEvent(event);
}