zoukankan      html  css  js  c++  java
  • Qt绘制文本一

    QPainterPath,使用 drawText且设置字体,再使用painter.drawText方式

    效果图:

    void WgtText::paintEvent(QPaintEvent *event)
    {
    
    
        QPainter painter(this);
        painter.setRenderHint(QPainter::Antialiasing, true);
        //painter.setPen(QPen(Qt::black, 2));
        painter.setBrush(QBrush(Qt::blue, Qt::SolidPattern));
        //painter.setPen(QPen(Qt::red, 2));
    
    
        QFont font;
        font.setFamily("Microsoft YaHei");
        // 大小
        font.setPointSize(20);
        // 斜体
        font.setItalic(true);
        // 设置下划线
        font.setUnderline(true);
        // 设置上划线
        font.setOverline(true);
        // 设置字母大小写
        font.setCapitalization(QFont::SmallCaps);
        // 设置字符间距
        font.setLetterSpacing(QFont::AbsoluteSpacing, 20);
        // 设置加粗
        font.setBold(true);
        // 使用字体
        painter.setFont(font);
    
    
        QPainterPath path;
        path.addText(QPointF(100,100), font, "Qt");
        painter.drawPath(path);
    
    
    
    
        return QWidget::paintEvent(event);
    
    
    }

    =========================================================================================================
    QPainterPath,使用 drawText且设置字体,再使用painter.drawText方式,
    效果图:

    void WgtText::paintEvent(QPaintEvent *event)
    {
    
    
        QPainter painter(this);
        painter.setRenderHint(QPainter::Antialiasing, true);
        painter.setPen(QPen(Qt::black, 2));
        //painter.setBrush(QBrush(Qt::blue, Qt::SolidPattern));
        //painter.setPen(QPen(Qt::red, 2));
    
    
        QFont font;
        font.setFamily("Microsoft YaHei");
        // 大小
        font.setPointSize(20);
        // 斜体
        font.setItalic(true);
        // 设置下划线
        font.setUnderline(true);
        // 设置上划线
        font.setOverline(true);
        // 设置字母大小写
        font.setCapitalization(QFont::SmallCaps);
        // 设置字符间距
        font.setLetterSpacing(QFont::AbsoluteSpacing, 20);
        // 设置加粗
        font.setBold(true);
        // 使用字体
        painter.setFont(font);
    
    
        QPainterPath path;
        path.addText(QPointF(100,100), font, "Qt");
        painter.drawPath(path);
    
    
    
    
        return QWidget::paintEvent(event);
    
    
    }
    -----------------------------------------------------------
    使用画笔直接绘制文本

    
    
    void WgtText::paintEvent(QPaintEvent *event)
    {
    
    
        QPainter painter(this);
        painter.setRenderHint(QPainter::Antialiasing, true);
        painter.setPen(QPen(QColor(0,0,255)));
    
    
        QFont font;
        font.setFamily("Microsoft YaHei");
        // 大小
        font.setPointSize(20);
        // 斜体
        font.setItalic(true);
        // 设置下划线
        font.setUnderline(true);
        // 设置上划线
        font.setOverline(true);
        // 设置字母大小写
        //font.setCapitalization(QFont::SmallCaps);
        // 设置字符间距
        font.setLetterSpacing(QFont::AbsoluteSpacing, 20);
        // 设置加粗
        font.setBold(false);
        // 使用字体
        painter.setFont(font);
        painter.drawText(QPointF(100,100), "Qt");
    
    
        return QWidget::paintEvent(event);
    }
  • 相关阅读:
    马哥学习笔记二十一——LVS DR模型
    马哥学习笔记二十——集群系列之LVS调度方法及NAT模型
    CCNA学习笔记九——访问控制列表(ACL)
    CCNA学习笔记八——动态路由协议
    CCNA学习笔记七——路由概述
    CCNA学习笔记六——网络层协议
    WPF点补间、拟合回归直线
    WPF三种基本触发器与【与或】逻辑触发器
    C#与mysql做ASP.NET网页数据库查询速度测试
    VS2013单元测试及代码覆盖率分析--Xunit
  • 原文地址:https://www.cnblogs.com/zhangxuan/p/10138808.html
Copyright © 2011-2022 走看看