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);
    }
  • 相关阅读:
    SQL Server CTE 递归查询全解(转载)
    ASP.NET Core MVC中Controller的Action,默认既支持HttpGet,又支持HttpPost
    ASP.NET Core 使用外部登陆提供程序登陆的流程,以及身份认证的流程 (转载)
    SQL Server中比较末尾带有空格的字符串遇到的坑 (转载)
    ASP.NET Core如何设置请求超时时间
    ADO.NET的Connection Timeout和Command Timeout (转载)
    风尘浪子 只要肯努力,梦想总有一天会实现 WF工作流与Web服务的相互调用 —— 通过Web服务调用Workflow工作流(开发持久化工作流) _转
    WPF学习资源整理
    WCF 学习笔记
    WorkFlow 工作流 学习笔记
  • 原文地址:https://www.cnblogs.com/zhangxuan/p/10138808.html
Copyright © 2011-2022 走看看