QT窗体绘图QPainter

news2024/11/17 20:32:53

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::BrushStyle
在这里插入图片描述
Qt::PenStyle
在这里插入图片描述
qt窗体区域图
在这里插入图片描述

在窗体上进行绘图代码


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)");//文本内容

}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/546533.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MATLAB开发中的常见问题和解决方法:如何解决常见的性能和bug问题

章节一&#xff1a;引言 在MATLAB开发中&#xff0c;经常会遇到一些常见的性能和bug问题。这些问题可能导致程序运行缓慢、结果不准确或者甚至崩溃。本文将介绍一些常见问题&#xff0c;并提供解决方法和案例&#xff0c;帮助开发者更好地应对这些挑战。 章节二&#xff1a;性…

chatgpt赋能Python-python3多行输入

Python3多行输入教程&#xff1a;如何让你的输入更加高效 Python3是一种功能强大、易于学习的编程语言&#xff0c;被广泛应用于科学计算和数据分析领域。但是&#xff0c;对于初学者来说&#xff0c;输入数据可能是一个有些棘手的问题。在本文中&#xff0c;我们将介绍如何使…

chatgpt赋能Python-python3拷贝文件

Python3 拷贝文件方法及注意事项 拷贝文件在日常开发中是一项基本的操作。Python3作为一门既简洁又强大的编程语言&#xff0c;也提供了丰富的文件操作函数。在本篇文章中&#xff0c;我们将介绍如何使用Python3拷贝文件以及需要注意的细节。 为什么要拷贝文件&#xff1f; …

RHCE--openlab搭建网站

--作业要求-- 综合练习&#xff1a;请给openlab搭建web网站 ​ 网站需求&#xff1a; ​ 1.基于域名[www.openlab.com](http://www.openlab.com)可以访问网站内容为 welcome to openlab!!! ​ 2.给该公司创建三个子界面分别显示学生信息&#xff0c;教学资料和缴费网站&#x…

积水监测用什么传感器?道路积水监测设备

近年来&#xff0c;由于全球气候变化导致极端天气频发&#xff0c;在暴雨的侵袭下&#xff0c;许多城市都面临路面积水严重的问题&#xff0c;道路积水是道路交通安全和行车舒适度的一大威胁&#xff0c;给司机和行人带来了巨大的安全隐患。 如何解决道路积水问题? 1、强城市排…

ChatGPT又一重磅更新 - iOS官方App发布

写在前面&#xff1a;博主是一只经过实战开发历练后投身培训事业的“小山猪”&#xff0c;昵称取自动画片《狮子王》中的“彭彭”&#xff0c;总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域&#xff0c;如今终有小成…

余压传感器(探测器)最重要的两个功能是什么?

余压传感器&#xff08;探测器&#xff09;是什么&#xff1f; 余压传感器&#xff08;探测器&#xff09;主要用于测量两个位置之间的压差。 余压传感器&#xff08;探测器&#xff09;的作用&#xff1f; 流量测量&#xff1a;在管道中&#xff0c;通过测量两点之间的压差&…

头歌计算机组成原理实验—运算器设计(11)第11关:MIPS运算器设计

第11关&#xff1a;MIPS运算器设计 实验目的 学生理解算术逻辑运算单元&#xff08;ALU&#xff09;的基本构成&#xff0c;掌握 Logisim 中各种运算组件的使用方法&#xff0c;熟悉多路选择器的使用&#xff0c;能利用前述实验完成的32位加法器、 Logisim 中的运算组件构造指…

基于Freertos的ESP-IDF开发——5.使用按键[不带消抖、带消抖、长按短按识别]

基于Freertos的ESP-IDF开发——5.使用按键[不带消抖、带消抖、长按短按识别] 0. 前言1. 确定GPIO引脚2. 触发函数(不带消抖)3. 触发函数(带消抖)4. 长按和短按识别5.其他FreeRtos文章 0. 前言 这一节我们来学习使用按键操作。包括带消抖和不带消抖。 由于之前已经学习过FreeR…

chatgpt赋能Python-python3_run

Python3 Run&#xff1a;学习Python必须掌握的运行方式 如果你在学习Python编程&#xff0c;那么Python3 Run是你必须掌握的运行方式之一。Python3 Run可以让你在本地环境中运行Python代码并查看运行结果。在本文中&#xff0c;我们将介绍Python3 Run的基本概念、使用方法和注…

概论_第4章__协方差Cov(X)的定义和性质___相关系数的定义和性质

前面讨论的方差是 一维随机变量X, 对于二维随机变量&#xff0c; 怎样计算方差呢&#xff1f; 这就引出了 协方差&#xff1a; 讨论X与Y之间相互关系的数字特征。 一 协方差的定义 协方差通俗的理解&#xff1a; 两个随机变量X, Y协作产生的方差。 计算协方差的公式有…

SSM框架学习-Spring事务

1. 数据库中事务与Spring中的事务 数据库事务和Spring中的事务是两个不同的概念&#xff0c;但Spring中的事务是建立在数据库事务之上的。 数据库事务是指一组数据库操作&#xff0c;要么全部成功执行&#xff0c;要么全部回滚&#xff08;撤销&#xff09;。这么做是为了保证数…

【Markdown】笔记

设置-通用-开启调试模式 普通文本编辑器编写的轻量级标记语言 标题 # ~ ###### 文本 _斜体_ *斜体* **粗体** ***粗斜体*** 列表 无序 * - 有序 1. 2. 3. Tab控制层级 链接 [链接名](链接地址) <链接地址> 引用 > 嵌套 > >> >>&…

hadoop零碎知识点总结

系列文章目录 ubuntu虚拟机下搭建zookeeper集群&#xff0c;安装jdk压缩包&#xff0c;搭建Hadoop集群与spark集群的搭建 虚拟机VMware里面安装Windows sever 2003版本详细教程_vmware安装win2003 centos7配置静态网络常见问题归纳_centos7网络问题 文章目录 系列文章目录…

chatgpt赋能Python-python3_排序

Python3 排序指南&#xff1a;介绍、说明和实践 Python3是当今最受欢迎的编程语言之一&#xff0c;拥有许多可用于各种任务的库和框架。其中之一是它自带的排序函数&#xff0c;在数据分析和机器学习等领域中非常有用。 在本篇文章中&#xff0c;我们将简要介绍Python3的排序和…

Baumer工业相机堡盟工业相机IO介绍与配置(二)

Baumer工业相机堡盟工业相机IO介绍与配置&#xff08;二&#xff09; Baumer工业相机Baumer工业相机IO的功能Baumer工业相机IO的作用Baumer工业相机IO上点连线方法 Baumer工业相机 Baumer工业相机堡盟相机是一种高性能、高质量的工业相机&#xff0c;可用于各种应用场景&#…

Linux下基于TCP协议的Socket套接字编程(客户端服务端)入门详解

写在前面&#xff1a; 本篇博客探讨&实践环境如下&#xff1a; 1.操作系统&#xff1a; Linux 2.版本(可以通过命令 cat /etc/os-release 查看版本信息)&#xff1a;PRETTY_NAME“CentOS Linux 7 (Core)” 编程语言:C 一、socket 是什么&#xff1f; 常常说socket 、套接字…

chatgpt赋能Python-python3加密解密

Python3加密解密——确保你的数据安全 在今天的数字化时代&#xff0c;数据已经成为最重要的财产之一。然而&#xff0c;随着互联网的流行&#xff0c;数据泄露和非法访问变得越来越普遍。因此&#xff0c;确保数据的安全性变得非常重要。加密解密是目前最受欢迎的数据安全措施…

chatgpt赋能Python-python3_8如何下载

Python 3.8如何下载 Python 3.8是一种高级编程语言&#xff0c;具有简单易于学习和高度可读性的特点。这篇文章旨在为您提供Python 3.8的下载方法。 什么是Python 3.8 Python 3.8是Python编程语言的最新版本&#xff0c;于2019年10月发布。它引入了许多新特性和功能&#xf…

分布式消息中间件RocketMQ的安装与启动

RocketMQ 安装与启动 基本概念 消息(Message)&#xff1a;消息是指&#xff0c;消息系统所传输信息的物理载体&#xff0c;生产和消费数据的最小单位&#xff0c;每条消息必须属于一个主题。主体(Topic)&#xff1a; Topic表示一类消息的集合&#xff0c;每个主题包含若干条消…