QT绘制路径与字体

如何绘制文字

字体的设置:

使用构造函数

QFont::font(const QString &family, int pointSize = -1 ,int weight = -1, bool italic = false);

可以看到,family是一个字符串常量,而这个family表示的是字体家族,有哪些字体可以在电脑上查看。查看方法为:设置→个性化→字体。
在这里插入图片描述
pointSize指的是字体大小,weight指的是加粗,itlatic指的是是否为斜体。
字体还可以设置下划线:

font.setUnderline(true);//也可以设置其他线

接下来将画笔设置为当前字体:

painter.setFont(font);
painter.setPen(Qt::blue);//设置颜色为蓝色

具体如下:

void Widget::paintEvent(QPaintEvent *)
{
    QPainter painter(this);
    QFont font("Agency FB",50,QFont::Bold,true);
    painter.setFont(font);
    painter.drawText(100,100,"Hello World");
}

在这里插入图片描述

如何绘制路径

这里的路径并不是指电脑中某一个文件的路径,而是指我们绘制出来的某一个图像的路径,因为有些时候,我们可能会频繁的使用这个图像。
使用QPainterPath方法,相当于创造一个容器,容器里面是我们先前已经创造好的内容(由一些直线和圆形等其他图片组成将这些内容转化为一个对象),所以只要用容器里的东西。
如下,相当于创造一个路径path

    QPainterPath path;
    path.moveTo(50,50);
    path.lineTo(150,100);
    path.addEllipse(QPoint(150,100),50,50);

接下来绘制出来,用两种颜色:


void Widget::paintEvent(QPaintEvent *)
{
    QPainterPath path;
    path.moveTo(50,50);
    path.lineTo(150,100);
    path.addEllipse(QPoint(150,100),50,50);
    QPainter painter(this);
    painter.drawPath(path);

    path.translate(100,0);//平移创建的path以作对比
    painter.setPen(Qt::blue);
    painter.drawPath(path);
}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值