• Qt绘制文本二 弯曲排列和旋转效果 弧形路径 正弦函数路径


    void WgtText::paintEvent(QPaintEvent *event)
    {
        QPainter painter(this);
        QString m_string("abcdefghijklmnopqrstuvwxy");
        int font_size = 15;
        float x0 = font_size * m_string.count() * 0.5;
        int YSize = font_size * m_string.count() * 0.5;
        for(int i=0; i<m_string.count(); i++)
        {
    
    
            // 按圆弧函数绘制
            painter.save();
            float tAlpha = i*3.14/m_string.count();
            float tx = YSize*cos(tAlpha) + YSize;
            float ty = YSize*sin(tAlpha);
            painter.translate(tx, ty);    // 文字的位置
            painter.rotate(180*i/(float)(m_string.count())); // 将文字本身旋转
            painter.drawText(QPointF(-10.0, 10.0), QString("%1").arg(m_string[i]));
            painter.restore();
    
    
        }
    
    
    }

    --------------------------------------------------------------------------------------


    void WgtText::paintEvent(QPaintEvent *event)
    {
    
    
        QPainter painter(this);
        int font_size = 10;
        // 设置字符间距
        int text_space = 2;
        int wh = height();
        QFont font;
        font.setFamily("Microsoft YaHei");
        // 大小
        font.setPointSize(font_size);
        // 使用字体
        painter.setFont(font);
    
    
        static QString m_string("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz");
    
    
        for(int i=0; i<m_string.count(); i++)
        {
            // 按正弦函数绘制
            float tx = (font_size + text_space) * i;
            float ty = sin(tx);
            //压缩y坐标
            ty = wh/2 + ty*(wh/2*0.2);
            painter.drawText(QPointF(tx, ty), QString("%1").arg(m_string[i]));
        }
    
    
        return QWidget::paintEvent(event);
    
    
    }
  • 相关阅读:
    生成纯数字随机编号的示例.sql
    程序员真的很懒
    (Coding for Concurrency).sql
    加载托管代码调试的扩展命令
    缺勤天数统计的处理示例.sql
    各种字符串合并处理示例.sql
    查询缺号分布情况的示例.sql
    控制CLR的调试
    UseCommandBehavior.cs
    Flat Icons & Icon Fonts
  • 原文地址:https://www.cnblogs.com/zhangxuan/p/10142944.html
Copyright © 2020-2023  润新知