Qt(11):QT的绘制系统
来源:互联网 发布:halcon二维码识别优化 编辑:程序博客网 时间:2024/06/08 08:10
[0]:paintter类可以类比为画笔,paintDevice类作为绘制的地点(Qwidiget,QImage都是子类).
[1]:自己定义一个窗口类
#ifndef WIDGET_H#define WIDGET_H#include <QWidget>namespace Ui {class Widget;}class Painttest : public QWidget{ Q_OBJECTpublic: explicit Painttest(QWidget *parent = 0); ~Painttest(); static int count;protected: void paintEvent(QPaintEvent*);//重写事件回调函数private: Ui::Widget *ui;};//int Painttest::count = 0;#endif // WIDGET_H
[2]:实现相应的绘制过程,附加了一些代码用来体会QpaintEvent的触发.
#include "widget.h"#include "QEvent"#include "QPainter"#include "QDebug"#include "ui_widget.h"int Painttest::count = 0;Painttest::Painttest(QWidget *parent) : QWidget(parent),ui(new Ui::Widget){ ui->setupUi(this); this->resize(800,600); this->setWindowTitle("Paint demo");}Painttest::~Painttest(){ delete ui;}void Painttest::paintEvent(QPaintEvent* )//重写事件回调函数{ QPainter painter(this);//创造画笔,并且设置该画笔的区域是该Widget,//Qwidiget是QPaintDevice的子类painter.drawLine(80,100,650,400);//from (x1,y1) -> (x2,y2)painter.setPen(Qt::red);painter.drawRect(10,10,100,600);//这里给出的形式是:left corner的坐标,以及width/lengthpainter.setPen(QPen(Qt::green,5));painter.setBrush(Qt::blue);painter.drawEllipse(50,150,400,200);painter.setPen(Qt::black);if(++count%2)painter.drawRect(30,30,100,400);else painter.drawEllipse(30,30,100,400);qDebug()<<count;}
0 0
- Qt(11):QT的绘制系统
- Qt 绘制系统简介
- QT 绘制系统
- QT基础图形的绘制
- Qt学习之十六:Qt绘制系统简介
- Qt坐标系统与图形绘制
- Qt绘制系统(Paint System)
- Qt的翻译系统
- Qt的系统变量
- QT的Paint 系统
- QT的事件系统
- QT的Paint 系统
- QT的Paint 系统
- Qt的绘图系统
- QT的Paint 系统
- QT的事件系统
- Qt的对象系统
- QT的坐标系统
- Java对象判等,重写equals方法
- iptables详解
- POJ 3261 Milk Patterns 后缀数组+二分
- java下载excel在firefox中中文名称乱码
- Java反射机制(3)
- Qt(11):QT的绘制系统
- FPGA产生基于LFSR的伪随机数
- 通过sysfs文件系统操作gpio
- 小甲鱼零基础学Python课后习题第25课
- jquery实战(三)------Ajax
- 虚拟机实现原理
- 1.4节 动态规划专题
- 【Cocos2d-x】源码分析之 2d/ui/Widget
- Matlab-----更改Matlab图中颜色