
QT/绘图
imxiangzi
这个作者很懒,什么都没留下…
展开
-
简单的QT绘图程序
当初在学MFC时,最经典的入门实例就是绘图程序,其作用相当于Console Application 下的Hello World了吧。如今入手QT,不免怀旧,于是也写了一个绘图程序,虽然简单,却也是入门必备啊。环境OS : Ubuntu 11.04IDE :Qt Creator 2.2.1 Qt : 4.7.4 (32bit) C转载 2015-11-03 12:33:46 · 4190 阅读 · 0 评论 -
QT 学习记录:渐变-QLinearGradient,QRadialGradient,QConicalGradient)
QT:渐变渐变,是指逐渐的,有规律性的变化,是一种规律性很强的现象。Qt提供了一个与渐变相关的QGradient类,目前支持三种渐变画刷,分别是线性渐变(QLinearGradient)、辐射渐变(QRadialGradient)、角度渐变(QConicalGradient),如下图所示:从左到右依次为:线性渐变、辐射渐变、角度渐变下面来看一下实现的代码,由于程序较简单,所转载 2015-11-25 00:45:15 · 844 阅读 · 0 评论 -
Qt 学习之路 2(29):绘制设备
绘图设备是继承QPainterDevice的类。QPaintDevice就是能够进行绘制的类,也就是说,QPainter可以在任何QPaintDevice的子类上进行绘制。现在,Qt 提供了若干这样的类:Qt4:Qt5:上面的是 Qt4 的相关类图,下面是 Qt5。这两部分大致相同,只是在 Qt5 中,QGLPixelBuffer已经被废弃。本章转载 2015-11-25 00:36:22 · 634 阅读 · 0 评论 -
QT中QPainter的使用及矩形、圆形等常见图形的画法
#includeQApplication>#include QWidget> #include QPainter> class MyMainWindow:public QWidget{ public: MyMainWindow(QWidget *parent = 0); private: void paintEvent(QPaintEvent*); QPai转载 2015-11-03 13:36:41 · 1568 阅读 · 0 评论 -
Qt学习之2D绘图(画刷和画笔)
Qt中提供了强大的2D绘图系统,可以使用相同的API在屏幕上和绘图·设备上进行绘制,主要基于QPainter、QPainterDevice和QPainterEngine这3个类。QPainter执行绘图操作,QPainterDevice提供绘图设备,是一个二维空间的抽象,QPainterEngine提供一些接口。QPainter可以绘制一切简单的图形,从简单的一条直线到任何复杂的图形。QPaint转载 2015-11-03 12:28:02 · 1672 阅读 · 0 评论 -
Qt实现图像自适应窗口大小之scaled()函数使用
很多应用都需要显示图片,比如视频类应用、拍照类应用,但是在大数情况下用户都会改变窗口大小,以获得最佳效果,在Qt中如果只设置了显示图片而没有对自适应窗口做出设置,用户拖拽边框的时候,整个控件上就会出现大片空白部分,怎么解决这个问题呢?QImage、QPixmap等绘图设备类都提供scaled()函数,下面是Qt文档对于scaled()函数介绍:函数原型:QImage QIm转载 2015-11-21 15:10:20 · 14044 阅读 · 0 评论 -
使用Qt开发绘制多个设备的流量曲线图(附带项目图)
一、说明:在实际项目中,主要是使用Qt开发CS程序,当然主要是客户端。公司项目中有这个需求是实时显示多个设备的流量曲线图,设备将流量信息发给服务端,服务端再将信息通过Socket发给Qt客户端,Qt客户端通过Socket接收后实时显示在程序的一个窗口上;这个显示是以曲线图的展示方式。二、界面模型接到这个功能需求后,使用的界面模型如下图所示,图示已经标示的很清楚了,我就不多详细描转载 2015-12-03 00:22:35 · 2427 阅读 · 0 评论 -
Qt 2D绘图
前面一节我们讲解了图片的显示, 其中很多都用到了坐标的变化,这一节我们简单讲一下Qt的坐标系统,其实也还是主要讲上一节的那几个函数。这里我们先讲解一下Qt的坐标系,然后讲解那几 个函数,它们分别是:translate()函数,进 行平移变换;scale()函数,进行比例变换;rotate()函数,进行旋转变换;shear()函数,进行扭曲变换。最后介绍两个有用的函数 save(转载 2015-12-28 17:49:07 · 588 阅读 · 0 评论 -
使用Qt创建模拟时钟
main.cpp#include #include "analogclock.h" Q_DECL_EXPORT int main(int argc, char *argv[]) { QApplication theApp(argc, argv); AnalogClock clock; clock.转载 2016-01-05 00:42:25 · 2083 阅读 · 0 评论 -
坐标系统 Qt 学习之路 2(28):坐标系统
在经历过实际操作,以及前面一节中我们见到的那个translate()函数之后,我们可以详细了解下 Qt 的坐标系统了。泛泛而谈坐标系统,有时候会觉得枯燥无味,难以理解,好在现在我们已经有了基础。坐标系统是由QPainter控制的。我们前面说过,QPaintDevice、QPaintEngine和QPainter是 Qt 绘制系统的三个核心类。QPainter用于进行绘制的实际操作;QP转载 2015-11-25 00:31:01 · 1072 阅读 · 0 评论 -
LinearGradient线性渲染
[java] view plaincopyimport android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.LinearGradient; import android.g转载 2015-11-25 00:46:33 · 681 阅读 · 0 评论 -
Qt 学习之路 2(27):渐变
渐变是绘图中很常见的一种功能,简单来说就是可以把几种颜色混合在一起,让它们能够自然地过渡,而不是一下子变成另一种颜色。渐变的算法比较复杂,写得不好的话效率会很低,好在很多绘图系统都内置了渐变的功能,Qt 也不例外。渐变一般是用在填充里面的,所以,设置渐变是在QBrush里面。Qt 提供了三种渐变:线性渐变(QLinearGradient)、辐射渐变(QRadialGradient)转载 2015-11-25 00:37:14 · 671 阅读 · 0 评论 -
一步步学Qt,第七天-QPainter绘图QRect定位问题
昨天工作室没电,现在才能继续Qt。一直对Qpainter的绘图功能不断研究中,很多的不明白,因为他的工作往往就是几个class的综合,看一个demo,在对整个demo的结构不是很明白的前提下,这个是很头疼的。每一个class之间的相互作用都不了解,自然是不能其意的。我看到的关于QPainter的demo,都是将绘图放到paintEvent的一个函数中去,在这里通过重新实现paint转载 2015-10-21 22:02:13 · 3344 阅读 · 0 评论 -
Qt学习之路(31): 一个简易画板的实现(QWidget)
说实话,本来我是没有打算放一个很大的例子的,一则比较复杂,二来或许需要很多次才能说得完。不过,现在已经说完了绘图部分,所以计划还是上一个这样的例子。这里我会只做出一个简单的画板程序,大体上就是能够画直线和矩形吧。这样,我计划分成两种实现,一是使用普通的QWidget作为画板,第二则是使用Graphcis View Framework来实现。因为前面有朋友说不大明白Graphics View的相关内转载 2015-10-21 22:05:32 · 1584 阅读 · 0 评论 -
用Qt实现2D绘图
新建Gui应用程序,基类选择QWidget widget.h代码: #ifndef WIDGET_H #define WIDGET_H #include namespace Ui { class Widget; } class Widget : public QWidget { Q_OBJECT public:转载 2015-10-21 22:06:22 · 1613 阅读 · 0 评论 -
QT下简易画板实现
在QT下,代码运行后效果图: //maindow.h#ifndef MAINWINDOW_H#define MAINWINDOW_H#include"paintwidget.h"#include #include#include //颜色组合框头namespace Ui { class Main转载 2015-10-21 22:07:18 · 14481 阅读 · 3 评论 -
Qt学习笔记八 二维图形(2) 坐标系统变换
在 Qt 中,可以改变系统默认的屏幕坐标系。在 QPainter 默认的坐标系中,点 (0,0) 位于屏幕的左上角, X 轴向右, Y 轴向下。每个像素占 1x1 大小。 1. 移动坐标系,改变坐标系原点 (0,0) 位置:通过 QPainter ::setWindow(); 可以移动坐标系原点和设置大小。例如: painter. setWindow(- 50 , - 5转载 2015-10-21 23:12:02 · 1691 阅读 · 0 评论 -
十八.利用QPainter作图
在QWidget中重载paintEvent事件,在事件函数中作图void MyPainter::paintEvent(QPaintEvent */*event*/){ QPainter painter(this); //设定钢笔工具 QPen pen; pen.setStyle(Qt::SolidLine); pen转载 2015-10-21 22:03:31 · 809 阅读 · 0 评论 -
Qt5调用QPixmap::fromWinHICON
QPixmap QPixmap::fromWinHICON ( HICON icon ) [static]Win32 only: Returns a QPixmap that is equivalent to the given icon.Warning:This function is only available on Windows.This function was int转载 2015-11-21 15:11:26 · 5014 阅读 · 1 评论 -
Qt学习之路(27): 渐变填充
前面说了有关反走样的相关知识,下面来说一下渐变。渐变是绘图中很常见的一种功能,简单来说就是可以把几种颜色混合在一起,让它们能够自然地过渡,而不是一下子变成另一种颜色。渐变的算法比较复杂,写得不好的话效率会很低,好在很多绘图系统都内置了渐变的功能,Qt也不例外。渐变一般是用在填充里面的,所以,渐变的设置就是在QBrush里面。Qt提供了三种渐变画刷,分别是线性渐变(QLinearGradie转载 2015-11-25 00:47:18 · 446 阅读 · 0 评论 -
QPainter::begin: Paint device returned engine == 0, type: 1
QPainter::begin: Paint device returned engine == 0, type: 1 QPainter默认只能在paintEvent里面调用,但是:在其他事件中绘制窗体,提示信息如下:QPainter::begin: Paint device returned engine == 0, type: 1绘制操作应该在paintEvent中转载 2015-12-03 14:25:41 · 4500 阅读 · 0 评论