feat: 添加ElaWidgetTool库
This commit is contained in:
39
ElaWidgetTools/ElaRadioButton.cpp
Normal file
39
ElaWidgetTools/ElaRadioButton.cpp
Normal 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);
|
||||
}
|
||||
Reference in New Issue
Block a user