首页 > 其他分享 >[qt]画网格,过分简单了

[qt]画网格,过分简单了

时间:2024-04-23 13:56:46浏览次数:16  
标签:Qt width int image 网格 height 过分 painter qt

源码:

#include <QImage>

#include <QPainter>

void drawLines(QImage& image) {
QPainter painter(&image);

QPen pen(Qt::black);
pen.setWidth(2);   // 设置线宽2 dot
painter.setPen(pen);

// 绘制水平线,分8份
for (int y = 89; y < image.height()-10; y += 90) {
painter.fillRect(0, y, image.width(), 2, Qt::black);
}

// 绘制垂直线,分8份
for (int x = 159; x < image.width()-10; x += 160) {
painter.fillRect(x, 0, 2, image.height(), Qt::black);
}

// 绘制对角线连接线 2 dot
painter.drawLine(0, 0, image.width() - 1, image.height() - 1);
painter.drawLine(image.width() - 1, 0, 0, image.height() - 1);
}

int getPng_GridLine() {
// 创建空白的 RGBA 图像
QImage image(1280, 720, QImage::Format_RGBA8888);
image.fill(Qt::transparent);   // 设置整个image透过
// image.fill(Qt::white);          // 设置整个image白色
// 绘制线条
drawLines(image);

// 保存图像
image.save("lines111.png");

return 0;
}

标签:Qt,width,int,image,网格,height,过分,painter,qt
From: https://www.cnblogs.com/yanqy/p/18152717

相关文章

  • Linux下切换qt程序的字母库
    问题: 在程序切换俄语时字符串都显示空白,说明系统中未有俄语字体库,先下载一个带有俄语的字体库,直接放在/usr/lib/fonts/目录下.  俄语可以正常切换显示之后,却改变了其他语言的字体格式解决:     需要在切换语言时也动态切换原始字体库和俄语字体库......
  • Qt 从 QTransform 逆向解出 Translate/Scale/Rotate(平移/缩放/旋转)分析
    QTransform用于图形绘制,它定义了如何平移(translate)、缩放(scale)、切变(shear)、旋转(rotate)或投射(project)坐标系。注意:QTransform是作用于坐标系,不是直接作用于图形。实际运用中我们可以通过QPainter、QGraphicsView、QGraphicsItem实现图形的平移、缩放、旋转等操作,但是需要从......
  • Qt 使用Snap7
    1稳定版本snap7源码下载https://sourceforge.net/projects/snap7/2整合到QT项目中2.1解压下载的文件得到snap7-full-1.4.2,放到qt项目文件目录下2.2从snap7-full-1.4.2目录下找到snap7.cpp、snap7.dll、snap7.h、snap7.lib四个文件并放到qt项目目录下snap7.cp......
  • SpringBoot模块集成mqtt代码实现
    1//引入pom2<!--mqtt-->3<dependency>4<groupId>org.springframework.boot</groupId>5<artifactId>spring-boot-starter-integration</artifactId>6</dependency>......
  • QT beginner QFileDialog
    QFileQTextStreamQMessageBoxQFileDialog应用示例mainwindow.cpp#include"mainwindow.h"#include"ui_mainwindow.h"#include<QFile>#include<QTextStream>#include<QMessageBox>#include<QFileDialog>MainWindow::MainWi......
  • kettle从入门到精通 第五十三课 ETL之kettle MQTT/RabbitMQ consumer实战
    1、上一节课我们学习了MQTTproducer生产者步骤,MQTTconsumer消费者步骤。该步骤可以从支持MRQTT协议的中间件获取数据,该步骤和kafkaconsumer一样可以处理实时数据交互,如下图所示: 2、双击步骤打开MQTTconsumer配置窗口,如下图所示:Stepname:自定义步骤名称。Transformat......
  • kettle从入门到精通 第五十三课 ETL之kettle MQTT/RabbitMQ producer 实战
    1、MQTT介绍MQTT(MessageQueuingTelemetryTransport)是一种轻量级的消息传输协议,设计用于连接低带宽、高延迟或不可靠网络的设备。MQTT是基于发布/订阅模式(Publish/Subscribe)的协议,其中设备可以发布消息到一个主题(Topic),其他设备可以订阅这个主题以接收相关消息。这种模式......
  • 报错:Qt 打开项目找不到Qt自己的头文件
    报错:Qt打开项目找不到Qt自己的头文件问题描述打开一个之前能跑的Qt项目,发现编译报错,很多Qt自己的宏、头文件、基本类都找不到了。问题解决首先排除一下是不是Qt版本问题导致的CMakeLists.txt或qmake的.pro文件问题。CMakeLists.txt的问题好判断,cmake会给出详细的报......
  • Qt元对象和属性机制
    Qt元对象和属性机制Qt是很早期的库,当时c++连标准库都不完善,如果Qt在c++14以后编写,绝对不会搞这么复杂概述Qt的元对象系统提供了3个重要的特性:信号和槽机制:实现各QObject组件之间的通信实时类型信息:通过运行时使用的类型,执行不同的函数,复用接口动态属性系统:存储类的相关......
  • MQTT协议
    一、MQTT协议简介MQTT(MessageQueuingTelemetryTransport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT协议是为工作在低带宽、不可靠的网络的远程传感器和控制设备通讯而设计的协议。二......