QPen】的更多相关文章

Help on class QPen in module PyQt5.QtGui: class QPen(sip.simplewrapper) |  QPen() |  QPen(Qt.PenStyle) |  QPen(Union[QBrush, QColor, Qt.GlobalColor, QGradient], float, style: Qt.PenStyle = Qt.SolidLine, cap: Qt.PenCapStyle = Qt.SquareCap, join: Qt.Pe…
The QtGui.QPen is an elementary graphics object. It is used to draw lines, curves and outlines of rectangles, ellipses, polygons, or other shapes. #!/usr/bin/python # -*- coding: utf-8 -*- """ ZetCode PyQt4 tutorial In this example we draw…
//地图显示功能 #ifndef MAPWIDGET_H #define MAPWIDGET_H #include <QGraphicsView> #include <QLabel> #include <QLineEdit> #include <QPushButton> #include <QMouseEvent> class MapWidget : public QGraphicsView { Q_OBJECT public: MapWidge…
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABVQAAAOOCAIAAABgEw4AAAAgAElEQVR4nOy92VcT27r/zX+xLtflvt…
刚刚开始学习Qt不久,才开始渐渐地熟悉基础内容,学习过程中的一些知识的总结和感悟希望通过博客记录下来,与大家分享学习的同时,也是对自己坚持下去的鞭策,废话不多说了,开始第一次的小总结吧. Qt提供了强大的2D绘图系统,主要基于QPainter.QPaintDevice.QPaintEngine这三个类. 其中QPainter用于执行绘图操作,QPaintDevice提供绘图设备,是一个二维空间的抽象,QPaintEngine提供一些接口,可以用于QPainter在不同的设备上进行会绘制. 基本的…
一个QImage或QPixmap新建变量时,第一次填充图片时设置的宽高正常(fill),其后的绘制操作(draw)则会在绘制的矩形底边和右边加上painter.pen().width() 在下面代码17行设置端点查看内存可以直观看到只在右边和底边++ // 1. 生成掩码图 ; ; QImage maskImg(width, height, QImage::Format_Mono); QPainter maskPainter(&maskImg); // maskPainter.setPen(QP…
QString, QByteArray, 和 QVariant这三个类和容器有许多相同之处,并且在一些情况下可以被当作特殊的容器. 同样,像容器,这些类使用隐式共享来优化内存和速度. 我们将从QString开始. 字符串被每个GUI程序所使用,不仅是用户界面而且还有数据结构. C++原生提供两种字符串: 传统的C风格以'\0'结尾的字符数组和std::string类. 与这些不同,QString使用16-bit Unicode值. Unicode 包含 ASCII 和 Latin-1 这个子集和…
因为开发环境不能联网,开发中用到有用的知识就记在word稳定中,不知不觉就记载了几十页,为避免笔记丢失,现在就一点点忘博客上搬,方便日后回顾! ------------------------------------------ 一,xml文档的生成和解析 1,Dom方式: xml首行说明类 QDomProcessingLnstruction类 元素对应QDomElement类 属性对应QDomAttr类 文本内容对应QDomText类 所有Dom节点,比如说明,元素,属性和文本,都使用QDom…
一.分层绘制 一直说要讲2.0.0版本,但总是想把1.3.2版本拿出来比较一下,这篇文章也不例外.QCustomPlot2.0.0beta版本比1.3.2release版本有一个很大的改进那就是分层绘制,所谓分层绘制就是把一张图分几张图来绘制,最后在把这分开的几张图统一绘制到一张图上,比如一张图A,需要分开成3张图B.C和D来绘制,当图A需要重新绘制时,我们一次判断B.C和D是否需要重新绘制,如果不需要绘制的我们直接把图贴到A上,那就很大的减少了重新绘制的时间,而这部分时间其实是没有必要花费的.…
引言 在上一篇中讲述了主窗体的创建和设计.主窗体的无边框效果.阴影效果.拖动事件处理.窗体美化等工作在前面的博客中早就涉及,因此上篇博文中并未花费过多笔墨.这一篇继续讲述工具箱(Tool Button)的实现.另外,在实现的过程中还做了另外一个贴心的小功能:可伸缩的侧边栏.不过后来发现应用起来后效果不佳,于是就没在主窗体中加入这个功能了,单独做了一个demo作为示范. 工具箱的实现 工具箱是将若干的工具按钮组织在一起,为用户提供简便导航功能的一个组件.在Qt中实现这个功能不难,Qt库本身就提供了…
MainWindow::MainWindow(QWidget*parent): QMainWindow(parent), ui(new Ui::MainWindow) { setAttribute(Qt::WA_TranslucentBackground);//支持alpha通道!!! setAttribute(Qt::WA_NoSystemBackground);//不自动绘制背景 setWindowFlags(Qt::FramelessWindowHint);//无边框 backPix.lo…
QCustomPlot 是一个比较小的 QT 图表插件.使用时,我们在程序中写完相关调用的代码后,只需将 QCunstomPlot.cpp 和 QCustomPlot.h 两个文件加入工程,正常编译即可.看起来使用挺方便.对于简单的,效率不高的数据可视化需求,基本能满足.这里把使用该插件的一些经验做简单记录. 1. 插件的声明 QCustomPlot 的官方文档里,只介绍了在 QT Designer 中 prompt 插件的方法,如果是使用可视化窗口设计界面,这样就足够了.但是,如果用纯代码来设…
1.失去焦点背景颜色,代码设置全选的时候,背景会是白色,需要设置失去焦点背景颜色.(设置焦点,会出现白转化成设置背景色,效果不好) QPalette p; p.setColor(QPalette::Inactive,QPalette::Highlight,QColor(51,153,255)); p.setColor(QPalette::Inactive,QPalette::HighlightedText,QColor(Qt::white)); p.setColor(QPalette::Inac…
代码下载链接:  http://pan.baidu.com/s/1hsc41Ek 密码: 5hdg 显示效果如下: 代码附有详细注释(代码如下) /*** * 先新建QMainWindow, 项目名称: DrawWidget 基类选择: QMainWindow, * 类名默认, 然后在DrawWidget项目名上新建c++class文件, 选择基类: QWidget */ //先完成绘图区的实现 //如下为: drawwidget.h #ifndef DRAWWIDGET_H #define D…
借鉴代码来自:https://github.com/hgoldfish/quickpanel 实现代码: # -*- coding:utf-8 -*- from __future__ import print_function from __future__ import unicode_literals from __future__ import division from __future__ import absolute_import import ctypes, sys import…
一.概述 前边已经写了5篇对QCustomPlot的讲解,看过上述的几篇文章后,基本就能做一些简单的使用了,但是如果想要做到高度的控制图表,那么坐标轴将是很重要的一部分,因为坐标轴就是图表的一个参考系,没有了参考系那么一切都是天方夜谭.关于QCustomPlot的坐标轴我还是会按照之前的套路,首先对比1.3.2版本和2.0.0beta版本,然后在深入的去分析坐标轴使用. 二.历史版本对比 首先我需要和大家伙说明下,我个人觉着在QCustomPlot的定制过程中,坐标轴定制算是比较困难的,因为坐标…
一.历史对比 关于QCPLayoutElement这个元素的讲解之前,我想先对1.3.2release版本和2.0.0beta版本的该元素做以简单的对比介绍,首先,1.3.2release版本时,鼠标单击时,如果按下的位置是一个布局元素,那么QCustomPlot首先会把这个事件回调给该被点击的元素,并且mouse系列的方法都是这样传递给QCPLayoutElement对象,该布局元素的声明会像这样QPointer<QCPLayoutElement> mMouseEventElement:但是…
一.头文件概述 从这篇文章开始,我们将正式的进入到QCustomPlot的实践学习中来,首先我们先来学习下QCustomPlot的类图,如果下载了QCustomPlot源码的同学可以自己去QCustomPlot的目录下documentation/qcustomplot下寻找一个名字叫做index.html的文件,将其在浏览器中打开,也是可以找到这个库的类图.如图1所示,是组成一个QCustomPlot类图的可能组成形式. 一个图表(QCustomPlot):包含一个或者多个图层.一个或多个ite…
一.可以实现的图 相对于其他绘制图表的第三方库来说,QCustomPlot算是比较轻量的,不仅仅能实现功能,而且二次开发比较容易.下面我们来具体说下他可以实现那些图 QCPGraph:折线图,LineStyle枚举可以设置折线图绘制的风格,主要区别是两点间连线的方式,常规的方式就是直连,其他还有L型.Z型等,如图1所示,都是折线图,只是设置了不同的折线参数:QCPScatterStyle枚举用于设置节点类型,包括:圆形.三角形等,如图2所示. QCPBars:柱状图,如图3所示 QCPFinan…
在最近做的行人检测项目中,由于需要训练分类器,而分类器的训练又需要有一个一定长宽的样本.为了方便样本的采集,因此实现了这样的一个截图程序.该程序的主要功能是加载视频到程序中,程序可以对视频进行播放.暂停的控制.程序可以在播放界面中直接拖动,画出选区,然后确认保存即可将截取的图片保存到指定路径中并且重新设置截取出来的图片的大小,以适应分类 器训练的需要.该程序的开发环境为Qt4.8.5+qtcreator2.8.0,其中还用到了opencv中的一些函数. 程序的主要界面如下: 主界面 播放视频并截…
void MainWindow::drawText(int font_size, QString str, int n){ QPainter p; QSize size(460, font_size); //指定图片大小; QImage* image = new QImage(size, QImage::Format_ARGB32); //以ARGB32格式构造一个QImage, image->fill(qRgba(0,0,0,0)); p.begin(image); QPen pen = p.…
以前一直多单片机开发,也没怎么使用过大的显示器,第一次学习,备忘: QT画图系统. 绘图,通过QPainter类实现. Qt的绘图系统对底层函数进行了良好的封装,使得在屏幕和设备的绘图功能可能使用相同一致的API.绘图系统主要依据于QPainter,QPaintDevice和QPaintEngine三个类来实现的.QPainter表现绘图功能的操作,QPaintDevice作为可用QPainter绘制的二维空间的抽象,QPaintEngine提供了在不同设备上绘制图形的接口.QPaintEngi…
简述 图形视图(Graphics View)提供了一个平台,用于大量自定义2D图元的管理与交互,并提供了一个视图部件(view widget)来显示可以缩放和旋转的图元. 框架包括一个事件传播架构,支持场景(Scene)中的图元(Item)进行精确的双精度交互功能.图元可以处理键盘事件.鼠标按下.移动.释放和双击事件,同时也能跟踪鼠标移动. 图形视图使用一个BSP(Binary Space Partitioning - 二叉空间分割)树,以提供对图形元素的快速查找,正因为如此,它可以使超大的场景…
简述 QCustomPlot是一个基于Qt C++的图形库,用于绘制和数据可视化 - 制作漂亮的2D图 - 曲线图.趋势图.坐标图.柱状图等,并为实时可视化应用程序提供高性能服务.它没有进一步的依赖关系,并有着良好的文档记录. QCustomPlot可以导出为各种格式,比如:PDF文件和位图(如:PNG.JPG.BMP). 可在自己的项目中直接使用两个源文件(qcustomplot.h与qcustomplot.cpp),或预先编译成库. 简述 下载 配置 文档 集成到QtCreatorAssis…
Qt 5.7 有一些变化,把原来商业版的几个模块用GPLv3协议放到了社区版本里: Qt Charts (GPLv3) Qt Data Visualization (GPLv3) Qt Virtual Keyboard (GPLv3) Qt Purchasing (LGPLv3) Qt Quick 2D renderer (GPLv3) 这些模块都是非常赞的! Qt 5.7 的一些消息,具体参看: http://blog.qt.io/blog/2016/06/16/qt-5-7-released…
本文主要是通过一本书来大致了解Qt开发的框架,不对具体内容做详细分析. 1.首先弄清楚概念:定义->以自己的话理解是什么-> 实现的是什么功能->用在哪些地方 2.前面认识到的知识点的特点-> 代码实现-> 工程代码分析 第一部分 Linux基础知识第二部分 Qt程序基础第5章 OtCreator下载与安装5.1 QtCreator下载5.1.1 使用软件中心下载QtCreator5.1.2 访问Qt网站下载相关资源5.2 第一个Qt程序5.3 QtCreator介绍5.3.…
之前一直以为 Qt Quick 里 Canvas 才干够自绘.后来发觉不是,原来还有好几种方式都能够画图! 能够使用原始的 OpenGL(Qt Quick 使用 OpenGL 渲染).能够构造QSGNode 来画图,还能够使用 QPainter !哇. QPainter 我非常熟悉啊.于是,我用 QPainter 结合 QML 实现了一个简单的涂鸦程序: PaintedItem .它有下列功能: 设置线条宽度 设置线条颜色 设置背景颜色 清除涂鸦 无限级undo 程序非常简陋.效果例如以下: w…
  双缓冲绘图在Qt4中,所有的窗口部件默认都使用双缓冲进行绘图.使用双缓冲,可以减轻绘制的闪烁感.在有些情况下,用户要关闭双缓冲,自己管理绘图.下面的语句设置了窗口部件的Qt::WA_PaintOnScreen属性 ,就关闭了窗口部件的双缓冲.mywidget->setAttribute(Qt::WA_PaintOnScreen); 由于Qt4不再提供异或笔,组合模式QPainter::CompostionMode_Xor()并不是异或笔,Qt4只提供了QRubberBand实现矩形和直线的绘…
QT通过三种形式提供了对线程的支持.它们分别是,一.平台无关的线程类,二.线程安全的事件投递,三.跨线程的信号-槽连接.这使得开发轻巧的多线程Qt程序更为容易,并能充分利用多处理器机器的优势.多线程编程也是一个有用的模式,它用于解决执行较长时间的操作而不至于用户界面失去响应.在Qt的早期版本中,在构建库时有不选择线程支持的选项,从4.0开始,线程总是有效的. 线程类 Qt 包含下面一些线程相关的类:QThread 提供了开始一个新线程的方法QThreadStorage 提供逐线程数据存储QMut…
Qt中提供了强大的2D绘图系统,可以使用相同的API在屏幕上和绘图·设备上进行绘制,主要基于QPainter.QPainterDevice和QPainterEngine这3个类. 1.QPainter执行绘图操作,QPainter可以绘制一切简单的图形,从简单的一条直线到任何复杂的图形.QPainter类可以在一切继承QPainterDevice的子类上进行绘制操作. 2.QPainterDevice提供绘图设备,是一个二维空间的抽象, 3.QPainterEngine提供一些接口. 绘制简单图…