Firefly开源社区

打印 上一主题 下一主题

qt5显示不规则图标问题

23

积分

0

威望

0

贡献

游客

积分
23

qt5显示不规则图标问题

发表于 2016-6-3 16:16:47      浏览:5836 | 回复:0        打印      只看该作者   [复制链接] 楼主
本帖最后由 chenkf 于 2016-6-3 16:22 编辑

在虚拟机的ubuntu linux系统中能正常显示图标,如图:见附件(第一张图)

但是 移植到rk3288开发板上面显示的效果就不正常了,图标的圆角部分有些褐色的色块,见 图中红色圈圈,圈出的区域(由于在开发无法截图,就手绘了)。见附件(第二张图)

请问什么回事呢


实现代码如下

CycleProgress::CycleProgress(QWidget *parent) :
    QWidget(parent), minLoops(3)
{
    setWindowFlags(Qt::FramelessWindowHint|Qt::WindowStaysOnTopHint);
    m_rotation = 0.0;
    timerID = 0;
    m_pixmap = QPixmap(PIC_FILENAME("ico_loading"));
    setFixedSize(m_pixmap.width(),m_pixmap.height());

    setAttribute(Qt::WA_TranslucentBackground);

    bgimg  = QPixmap(PIC_FILENAME("frame_loading"));
    setMask(bgimg.mask());
}



void CycleProgress::paintEvent(QPaintEvent * event)
{
    QWidget::paintEvent(event);
    QPainter painter(this);
    painter.setRenderHint(QPainter::Antialiasing);
    painter.setRenderHint(QPainter::SmoothPixmapTransform);

    painter.drawPixmap(this->rect(),bgimg);
    if(1){

        QPointF center(m_pixmap.width() / qreal(2), m_pixmap.height() / qreal(2));
        painter.translate(center);
        painter.rotate(m_rotation);
        painter.translate(-center);

        painter.drawPixmap(QPointF(0, 0), m_pixmap);
    }
}



QQ截图20160603160624.png (183.62 KB, 下载次数: 326)

QQ截图20160603160624.png

QQ图片201606031614081111.png (21.51 KB, 下载次数: 371)

QQ图片201606031614081111.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表