主页 > 创业  > 

Qt文字描边(基础篇)

Qt文字描边(基础篇)

项目中有时需要文字描边的功能

1.基础的绘制文字

使用drawtext处理

void MainWindow::paintEvent(QPaintEvent *event) { QPainter painter(this); painter.setRenderHint(QPainter::Antialiasing, true); painter.setRenderHint(QPainter::SmoothPixmapTransform, true); painter.setRenderHints(QPainter::TextAntialiasing, true); QPen pen = painter.pen(); QString m_textString = "文本God123"; pen.setWidth(1); pen.setColor(QColor(255, 0, 0)); painter.setPen(pen); painter.setBrush(QColor(255, 0, 0)); //绘制白芯文字,注意文字的位置点设置 painter.drawText(100,100,m_textString); } 2.绘制黑边黄字

代码:

void MainWindow::paintEvent(QPaintEvent *event) { QPainter painter(this); painter.setRenderHint(QPainter::Antialiasing, true); painter.setRenderHint(QPainter::SmoothPixmapTransform, true); painter.setRenderHints(QPainter::TextAntialiasing, true); QPen pen = painter.pen(); QString m_textString = "文本God123"; QPainterPath path; //注意文字的位置点设置 path.addText(100,200,painter.font(), m_textString); pen.setWidth(2); pen.setColor(QColor(0, 0, 0)); painter.setPen(pen); // painter.setBrush(QColor(255, 255, 0)); //绘制黑边 painter.drawPath(path); } 3.只绘制黑边

void MainWindow::paintEvent(QPaintEvent *event) { QPainter painter(this); painter.setRenderHint(QPainter::Antialiasing, true); painter.setRenderHint(QPainter::SmoothPixmapTransform, true); painter.setRenderHints(QPainter::TextAntialiasing, true); QPen pen = painter.pen(); QString m_textString = "文本God123"; QPainterPath path; //注意文字的位置点设置 path.addText(100,200,painter.font(), m_textString); pen.setWidth(2); pen.setColor(QColor(0, 0, 0)); painter.setPen(pen); // //painter.setBrush(QColor(255, 255, 0)); //绘制黑边 painter.drawPath(path); } 4.绘制黑边红字(另一种方法)

void MainWindow::paintEvent(QPaintEvent *event) { QPainter painter(this); painter.setRenderHint(QPainter::Antialiasing, true); painter.setRenderHint(QPainter::SmoothPixmapTransform, true); painter.setRenderHints(QPainter::TextAntialiasing, true); QPen pen = painter.pen(); QString m_textString = "文本God123"; QPainterPath path; //注意文字的位置点设置 path.addText(100,200,painter.font(), m_textString); pen.setWidth(2); pen.setColor(QColor(0, 0, 0)); painter.setPen(pen); // //painter.setBrush(QColor(255, 255, 0)); //绘制黑边 painter.drawPath(path); pen.setWidth(1); pen.setColor(QColor(255, 0, 0)); painter.setPen(pen); painter.setBrush(QColor(255, 0, 0)); //绘制白芯文字,注意文字的位置点设置 painter.drawText(100,200,m_textString); }

标签:

Qt文字描边(基础篇)由讯客互联创业栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Qt文字描边(基础篇)