1 Star 0 Fork 1

uthelei/CodeLineCount

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
StyleLabel.cpp 2.03 KB
一键复制 编辑 原始数据 按行查看 历史
uthelei 提交于 2023-05-25 16:22 . 修改适配Windows
/*
* Copyright (C) 2021 ~ 2030 Uniontech Software Technology Co.,Ltd.
*
* Author: helei <helei@uniontech.com>
*
* Maintainer: helei <helei@uniontech.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "StyleLabel.h"
//#include <DApplicationHelper>
#include <QPainter>
#include <QStyleOptionFrame>
//DWIDGET_USE_NAMESPACE
StyleLabel::StyleLabel(QWidget *parent) : QLabel(parent)
{
setAlignment(Qt::AlignCenter);
setFrameShape(QFrame::StyledPanel);
setLineWidth(0);
}
void StyleLabel::setTextColor(QPalette::ColorRole color)
{
QPalette palette = this->palette();
QPalette labelPalette = this->palette();
labelPalette.setColor(QPalette::WindowText, palette.color(color));
setPalette(labelPalette);
}
void StyleLabel::setTextColor(const QColor &color)
{
QPalette labelPalette = this->palette();
labelPalette.setColor(QPalette::WindowText, color);
setPalette(labelPalette);
}
void StyleLabel::paintEvent(QPaintEvent *event)
{
Q_UNUSED(event)
QStyleOptionFrame opt;
initStyleOption(&opt);
QPainter painter(this);
QPalette palette = this->palette();
painter.setBackground(palette.brush(QPalette::Button));
painter.setPen(QPen(Qt::black, opt.lineWidth));
style()->drawControl(QStyle::CE_ShapedFrame, &opt, &painter, this);
QLabel::paintEvent(event);
}
void StyleLabel::initStyleOption(QStyleOptionFrame *option) const
{
QFrame::initStyleOption(option);
option->features |= QStyleOptionFrame::Rounded;
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/uthelei/CodeLineCount.git
git@gitee.com:uthelei/CodeLineCount.git
uthelei
CodeLineCount
CodeLineCount
master

搜索帮助