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);
    }
  • 相关阅读:
    【Vegas原创】mysql更改用户密码之无敌方法
    【Vegas原创】Xcopy屡试不爽
    【Vegas原创】ctrl shift无法切换输入法的解决方法
    【Vegas原创】将SQLServer表、视图、存储过程的所有者批量改为dbo的处理方法
    【Vegas原创】SQL Server2005应急备机切换步骤 生产机正常
    【Vegas原创】SQLServer 2000 企业管理器展开数据库列表错误的解决方法
    【Vegas原创】win7下打开telnet服务
    【Vegas原创】Windows 2003下CACTI的安装及配置
    【Vegas原创】SecureCRT个性化设置
    Mathematica实现微分算子功能
  • 原文地址:https://www.cnblogs.com/zhangxuan/p/10138808.html
Copyright © 2011-2022 走看看