QT窗体绘图QPainter

这篇具有很好参考价值的文章主要介绍了QT窗体绘图QPainter。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

QPainter

INSCODE AI 创作助手:
QPainter是Qt中的一个类,用于在窗口、图像或其他用户界面上绘制图形和文本。它提供了一些方便的方法来画线、矩形、圆、多边形和文本

QPainter绘图函数

INSCODE AI 创作助手:
QPainter是Qt中一个用于绘图的类,它提供了一系列的绘图函数。以下是一些常用的绘图函数:
void QPainter::drawLine(int x1, int y1, int x2, int y2):绘制一条从(x1, y1)到(x2, y2)的直线。
void QPainter::drawRect(int x, int y, int width, int height):绘制一个左上角坐标为(x,y),宽为width,高为height的矩形。
void QPainter::drawEllipse(int x, int y, int width, int height):绘制一个左上角坐标为(x,y),宽为width,高为height的椭圆。
void QPainter::drawArc(int x, int y, int width, int height, int startAngle, int spanAngle):绘制一个左上角坐标为(x,y),宽为width,高为height的椭圆弧,从startAngle开始,扫过spanAngle度。
void QPainter::drawPixmap(int x, int y, const QPixmap& pixmap):绘制一个pixmap图像,左上角坐标为(x,y)。
void QPainter::drawText(int x, int y, const QString& text):在点(x,y)的位置绘制一行文本。
void QPainter::setPen(const QPen& pen):设置画笔,用于绘制线条和轮廓。
void QPainter::setBrush(const QBrush& brush):设置画刷,用于填充形状和区域。
以上是常用的绘图函数,QPainter提供了更多的绘图函数,可以根据需要选择使用。

包含头文件


#include <QPainter>

QPainter能够在任何QPaintDevice上绘图,如QImage, QOpenGLPaintDevice, QPagedPaintDevice, QPaintDeviceWindow, QPicture, and QPixmap
当被绘制的设备是一个widget的时候,QPainter只能在paintEvent()函数中或者被该函数调用的函数当中使用
QT窗体绘图QPainter
Qt::BrushStyle
QT窗体绘图QPainter
Qt::PenStyle
QT窗体绘图QPainter
qt窗体区域图
QT窗体绘图QPainter

在窗体上进行绘图代码


void MainWindow::paintEvent(QPaintEvent *event){
    QPainter painter(this);
    //反走样
    painter.setRenderHint(QPainter::Antialiasing, true);
    //画背景图
    painter.drawPixmap(400,30, 200, 180, QPixmap(":/new/prefix1/pic.jpg"));

    //定义画笔
    QPen pen;
    pen.setWidth(2);//设置线宽
    pen.setColor(QColor(222,255,55));//颜色
    pen.setStyle(Qt::SolidLine);//样式
    //画刷
    QBrush brush;
    brush.setColor(Qt::black);//颜色
    brush.setStyle(Qt::SolidPattern);//样式
    //设置画笔画刷
    painter.setPen(pen);
    painter.setBrush(brush);
    //画直线
    painter.drawLine(50,50,150,50);
    painter.drawLine(20,50,250,150 );
    //画矩形
    painter.drawRect(70,200,100,50);
    //画椭圆
    painter.drawEllipse(QPoint(270,150),50,80);

    //画文字
    QFont font;
    font.setFamily("MV Boli");//文字字体
    font.setPixelSize(20);//文字大小
    pen.setColor(QColor(0,255,55));//文字颜色
    painter.setFont(font);
    painter.setPen(pen);
    painter.drawText(200, 300, "Qt Creator 3.4.2 (opensource)");//文本内容

}

QT窗体绘图QPainter文章来源地址https://www.toymoban.com/news/detail-452579.html

到了这里,关于QT窗体绘图QPainter的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • @SpringBootApplication注解说明(InsCode AI 创作助手)

    @SpringBootApplication 是 Spring Boot 中的一个关键注解,用于标识一个类是 Spring Boot 应用程序的主应用程序类。在这篇文章中,我们将详细解释 @SpringBootApplication 注解以及它在 Spring Boot 应用程序中的作用。 @SpringBootApplication 注解是 Spring Boot 中的一个复合注解,它包含了以下三个重

    2024年02月07日
    浏览(65)
  • 什么是 Spring Boot Starter?(InsCode AI 创作助手)

    当你开始使用 Spring Boot 开发应用程序时,你可能会听说过 Spring Boot Starter,它是 Spring Boot 框架的一个关键概念。本篇博客将详细介绍 Spring Boot Starter 是什么,为什么它如此重要,以及如何使用它来简化 Spring Boot 项目的依赖管理。 Spring Boot Starter 是一种预配置的依赖项,它可

    2024年02月07日
    浏览(33)
  • 解释 Git 的基本概念和使用方式(InsCode AI 创作助手)

    Git 是一种分布式版本控制系统,它允许多个用户协同工作并对项目进行版本控制。下面是 Git 的基本概念和使用方式: 基本概念: 仓库(Repository):存储代码和版本历史记录的地方。 提交(Commit):在仓库中记录一次代码更改的操作。 分支(Branch):在代码仓库中,可以

    2024年02月09日
    浏览(24)
  • Postman 调用 Microsoft Graph API (InsCode AI 创作助手)

    官方配置参考网址: https://learn.microsoft.com/zh-cn/graph/use-postman 获取 Azure AD 应用程序凭据: 在 Azure AD 中注册你的应用程序,并获取客户端ID和客户端密钥。这些凭据将允许你的应用程序与 Microsoft Graph 进行身份验证和访问权限控制。 配置 Postman: 打开 Postman 并确保你已安装了最

    2024年02月09日
    浏览(31)
  • SpringBoot集成Microsoft office 365账号方案(InsCode AI 创作助手)

    SpringBoot集成微软office 365账号需要进行以下步骤: 1. 注册Azure AD应用程序 要使用Microsoft Graph API访问Office 365数据,我们需要先注册一个Azure AD应用程序,以便获取相应的应用程序ID和机密。 2. 添加API权限 在Azure门户中为我们创建的应用程序添加“Microsoft Graph”权限,以便我们可

    2024年02月09日
    浏览(32)
  • 什么是CI/CD:持续集成与持续交付?(InsCode AI 创作助手)

    在现代软件开发领域,CICD(Continuous Integration and Continuous Delivery)是一种关键性的开发实践,它有助于提高软件交付的质量和效率。本文将深入探讨CICD的定义、原理和重要性,以及如何在项目中实施CICD流程。 什么是CICD? CICD是一种软件开发实践,它将持续集成(CI)和持续交

    2024年02月09日
    浏览(40)
  • postgresql完整备份,增量备份,差异备份详细说明及对比(InsCode AI 创作助手)

    PostgreSQL 是一款开源的关系型数据库管理系统,为了确保数据的安全性和可恢复性,数据库备份是至关重要的。在这篇博客中,我们将深入探讨 PostgreSQL 备份策略,包括完整备份、增量备份和差异备份,以及它们之间的比较。此外,我们还将提供相应的备份和恢复示例,帮助

    2024年02月07日
    浏览(27)
  • Java Heap Space问题解析与解决方案(InsCode AI 创作助手)

    Heap Space问题是Java开发中常见的内存溢出问题之一,我们需要理解其原因和表现形式,然后通过优化代码、增加JVM内存和使用垃圾回收机制等方法来解决。 一、常见报错 二、Heap Space问题的原因 对象创建过多:如果程序中创建了大量的对象,而这些对象又不能被垃圾回收机制

    2024年02月03日
    浏览(29)
  • 【嵌入式Qt开发入门】如何使用Qt进行绘图——QPainter 绘图

            绘图与图表在嵌入式里有的比较多,尤其是图表,我们常在股票里看到的“图表折线/曲线 图/饼状图等”都可以用 Qt 的图表来实现。绘图和图表的内容本章主要介绍绘图和图表的基本操作,以简单的例子呈现绘图与图表的用法,目的就是快速入门绘图与图表,关

    2024年02月12日
    浏览(33)
  • CSDN官方创作助手InsCode AI 教你分分钟搞定一篇好文章

    CSDN官方推出 创作助手InsCode AI 很多天了,有心人都能发现,在写作界面的右上角多了一个 创作助手 的浮动按钮,点击后出现如下界面: 现阶段是“限免”状态,不好好利用它来创作,就有点辜负CSDN官方大佬们的良苦用心了。 以主题“动态规划法”写一篇博客,以下是我用

    2024年02月05日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包