1 Star 0 Fork 0

tongy boys/material-pri

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
qtmaterialwidget.cpp 1.61 KB
一键复制 编辑 原始数据 按行查看 历史
#include "qtmaterialwidget.h"
#include "lib/qtmaterialstyle.h"
#include "qtmaterialwidget_p.h"
#include <QPainter>
/*!
* \class QtMaterialWidgetPrivate
* \internal
*/
/*!
* \internal
*/
QtMaterialWidgetPrivate::QtMaterialWidgetPrivate(QtMaterialWidget *q)
: q_ptr(q)
{
}
/*!
* \internal
*/
void QtMaterialWidgetPrivate::init()
{
useThemeColors = true;
}
/*!
* \internal
*/
QtMaterialWidgetPrivate::~QtMaterialWidgetPrivate()
{
}
/*!
* \class QtMaterialWidget
*/
QtMaterialWidget::QtMaterialWidget(QWidget *parent)
: QWidget(parent),
d_ptr(new QtMaterialWidgetPrivate(this))
{
d_func()->init();
}
QtMaterialWidget::~QtMaterialWidget()
{
}
bool QtMaterialWidget::useThemeColors() const
{
Q_D(const QtMaterialWidget);
return d->useThemeColors;
}
void QtMaterialWidget::setUseThemeColors(bool value)
{
Q_D(QtMaterialWidget);
if (d->useThemeColors == value)
{
return;
}
d->useThemeColors = value;
update();
}
QColor QtMaterialWidget::backgroundColor() const
{
Q_D(const QtMaterialWidget);
if (d->useThemeColors || !d->backgroundColor.isValid())
{
return QtMaterialStyle::instance().themeColor(Material::ColorThemeCanvas);
}
return d->backgroundColor;
}
void QtMaterialWidget::setBackgroundColor(const QColor &color)
{
Q_D(QtMaterialWidget);
d->backgroundColor = color;
if (d->useThemeColors)
{
d->useThemeColors = false;
}
update();
}
void QtMaterialWidget::paintEvent(QPaintEvent *event)
{
Q_UNUSED(event);
QPainter painter(this);
painter.fillRect(rect(), backgroundColor());
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/tongynj/material-pri.git
git@gitee.com:tongynj/material-pri.git
tongynj
material-pri
material-pri
master

搜索帮助