QT开发中文网

QPainter在图像的左侧和下侧标记刻度

使用QPainter可以在图像的左侧和下侧标记刻度。下面是一个示例代码,展示如何使用QPainter绘制刻度标记:

void MyWidget::paintEvent(QPaintEvent *event)
{
    QPainter painter(this);
    
    // 绘制坐标轴
    painter.drawLine(50, height() - 50, 50, 50); // 左侧的垂直轴
    painter.drawLine(50, height() - 50, width() - 50, height() - 50); // 下方的水平轴
    
    // 在左侧绘制刻度标记
    int numOfTicks = 5; // 刻度数量
    int tickLength = 10; // 刻度长度
    int interval = (height() - 100) / (numOfTicks + 1); // 刻度间距
    
    for(int i = 0; i < numOfTicks; ++i)
    {
        int y = height() - i * interval - 50;
        
        painter.drawLine(45, y, 55, y); // 刻度线
        painter.drawText(20, y + tickLength /2 , QString::number(i+1)); // 刻度值
    }
    
    // 在下方绘制刻度标记
    numOfTicks = 7; // 刻度数量(可根据需求调整)
    interval = (width() - 100) / (numOfTicks +1 );// 刻度间距
    
    for(int i=0;i<numOfTicks;++i)
    {
        int x = i*interval +50;
        
        painter.drawLine(x, height() - 45, x, height() - 55); // 刻度线
        painter.drawText(x-5, height() - 30 , QString::number(i+1)); // 刻度值
    }
}

这是一个简单的示例,您可以根据自己的需求进行更改和扩展。注意,此代码在QWidget派生类的paintEvent函数中使用。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://qt.0voice.com/?id=10024

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?