qt中如何画图?

使用Qpainter类进行2D绘画

例如以下代码进行直线的绘制

QPainter  painter(this);
painter.setPen(Qt::red);
painter.drawLine(0,0,10,10);

如何显示绘画的图片?

通过对控件的paintEvent()进行重写,进而显示图片。

void MainWindow::paintEvent(QPaintEvent *){
   QPainter painter(this);
   painter.setPen(Qt::red);
   painter.drawLine(0,0,100,100);
}

mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QPainter>
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
   Q_OBJECT

public:
   MainWindow(QWidget *parent = nullptr);
   ~MainWindow();
   void paintEvent(QPaintEvent *);

private:
   Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H

mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QPainter>
MainWindow::MainWindow(QWidget *parent)
  : QMainWindow(parent)
  , ui(new Ui::MainWindow)
{
  ui->setupUi(this);


}

MainWindow::~MainWindow()
{
  delete ui;
}

void MainWindow::paintEvent(QPaintEvent *){
  QPainter painter(this);
  painter.setPen(Qt::red);
  painter.drawLine(0,0,100,100);
}

最新文章

  1. 运行Maven工程总是报错:No goals have been specified for this build
  2. service 03 iis之服务器无访问权限
  3. javascript应用之如何判断一个数为素数
  4. git中ssh配置方法
  5. Flash视频播放器开发经验总结
  6. 搭建高性能计算环境(六)、应用软件的安装之lammps
  7. 从3D Studio Max导入物体 Importing Objects From 3D Studio Max
  8. 新版本ubuntu13.10软件安装
  9. Android之进度条2
  10. linux命令chown修改文件所有权
  11. iscroll5 版本下的 上拉,下拉 加载数据
  12. sed的替换命令
  13. 20160214.CCPP体系详解(0024天)
  14. Struts2配置问题终极解决方案
  15. $Django 支付宝支付,微信服务号推送消息 (测试需要把应用程序部署到服务器上)
  16. Hello SIP Protocol
  17. 关于微信JS SDK接口wx.previewImage预览接口的使用
  18. XLua访问C#中的List或者数组
  19. SaltStack 批量分发目录
  20. YII第三步,日志开启

热门文章

  1. MongoDB 索引原理与索引优化
  2. 物联网 IOT 设备如何脱离信息孤岛?
  3. Kali Pi 安装 RTL8812AU驱动
  4. LeetCode-02 两数相加(Add Two Numbers)
  5. 【MySQL】MySQL8安装
  6. 使用Dapr和.NET 6.0进行微服务实战:Dapr简介
  7. 这可能是Matplotlib和Seaborn最全的入门文档
  8. 图文并茂手把手教你How to copy files or directory in nodejs npm scripts编写脚本用npm或者node命令复制文件
  9. drf-day7——认证组件、权限组件、频率组件、过滤排序、分页
  10. Rust Rand生成随机数