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);
    }
  • 相关阅读:
    作业七随笔。。
    Jquery 图片走马灯效果原理
    参与招聘面试工作之简历与仪容篇
    无聊系列 C#中一些常用类型与java的类型对应关系
    关于ASP.NET MVC 中JsonResult返回的日期值问题
    最近参与招聘面试的工作总结
    Unix时间戳转日期时间格式,C#、Java、Python各语言实现!
    MVC 拦截器
    Python参考书籍(转载)
    PEP 8风格指南(转载)
  • 原文地址:https://www.cnblogs.com/zhangxuan/p/10138808.html
Copyright © 2011-2022 走看看