32.QT绘图
2024-08-24 22:29:15
- widget.h
#ifndef WIDGET_H
#define WIDGET_H #include <QWidget>
#include <QPainter>
#include <QPen>
#include <QEvent> namespace Ui {
class Widget;
} class Widget : public QWidget
{
Q_OBJECT public:
explicit Widget(QWidget *parent = );
~Widget();
20 void paintEvent(QPaintEvent *e);
21 QPainter *painter;
private:
Ui::Widget *ui;
}; #endif // WIDGET_H - widget.cpp
#include "widget.h"
#include "ui_widget.h" Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
setGeometry(,,,);
} Widget::~Widget()
{
delete ui;
} void Widget::paintEvent(QPaintEvent *e)
{
painter = new QPainter;
painter->begin(this);
painter->setPen(QPen(Qt::blue,,Qt::DashDotLine)); //画刷
painter->setBrush(QBrush(Qt::red,Qt::SolidPattern));
//画矩形
//painter->drawRect(20,20,180,180);
//画椭圆
//painter->drawEllipse(20,20,190,160);
//画点
//painter->drawPoint(100,100);
//画曲线
// painter->drawArc(20,20,210,160,500,1000); /*
case Line: //直线
p.drawLine(rect.topLeft(),rect.bottomRight()); break;
case Rectangle: //长方形
p.drawRect(rect); break;
case RoundRect: //圆角方形
p.drawRoundRect(rect); break;
case Ellipse: //椭圆形
p.drawEllipse(rect); break;
case Polygon: //多边形
p.drawPolygon(points,4); break;
case Polyline: //多边线
p.drawPolyline(points,4); break;
case Points: //点
p.drawPoints(points,4); break;
case Arc: //弧
p.drawArc(rect,startAngle,spanAngle); break;
case Path: //路径
p.drawPath(path); break;
case Text: //文字
p.drawText(rect,Qt::AlignCenter,tr("Hello Qt!")); break;
case Pixmap: //图片
p.drawPixmap(150,150,QPixmap("butterfly.png")); break;
default: break; painter->drawLine(QPoint(30,30),QPoint(60,180));
painter->drawText(this->rect(),Qt::AlignCenter,tr("Hello Qthello haihua!"));
painter->drawPixmap(150,150,QPixmap("1.png"));
*/ //画线
//painter->drawLine(QPoint(30,30),QPoint(60,180));
//painter->drawText(this->rect(),Qt::AlignCenter,tr("Hello"));
//画图
painter->drawPixmap(,,QPixmap("1.png"));
painter->end();
}
最新文章
- shell及脚本1——变量
- 时间戳转化为日期TimeStamp转NSDate转NSString
- MongoDB学习:(二)MongoDB简单使用
- 茎叶图(stem)
- require.js基本认识
- 每天一个 Linux 命令(6):rmdir 命令
- BZOJ-1067 降雨量 线段树+分类讨论
- java.sql.date与java.util.date区别以及数据库中插入带时分秒的时间
- DTD - Elements
- HTML5 程序设计笔记(一)
- Netflix公司监控内部安全的开源项目
- Socket编程实践(12) --UDP编程基础
- nuxt框架Universal和Spa两种render mode的区别
- linux环境中,如何解压后缀是bz2的压缩包?tar.bz2格式的压缩包,如何进行解压?
- IAR中的 identifier ";FILE"; is undefined 问题
- U8800 手机恢复出厂设置出现轻触Android开始页面 处理办法
- Win10系列:WinJS库控件
- ASP.NET获取服务器信息大全
- bzoj 4328 始祖鸟
- 【TP3.2】详解_initialize() 和 __construct() 的区别和联系