首页 > TAG信息列表 > QPointF
QPaintEvent 绘制控件,让你提高变成强者
相信小伙伴们好多学习qt 的一些基本用法,不知道如何继续下去学习相关东西,大部分都是看书与对应博客,还有一些例子,然后确不知道该学习什么,这里我提供一下自己的学习习惯,也许不适合你,或许你会有更好的学习方式。 如果有比较激烈的观点,我这里只想说:您对! 声明:本文例子是Qt 获取QGraphicsItem在屏幕上的位置,在QGraphicsItem中获取全局位置,转换为screenPos
首先了解几个QGraphicsItem的函数 1 QGraphicsScene* QGraphicsItem::scene() 返回item所在的场景Scene 2 QPointF QGraphicsItem::scenePos() 返回item在场景中的位置 QGraphicsScene的函数 QList<QGraphicsVeiw*> QGraphicsScene::views() 返回Scene所在的view的列表 QGraphQt编写自定义控件45-柱状标尺控件
一、前言这个控件写了很久了,是最早期的一批控件中的一个,和温度计控件类似,都是垂直的进度条,可以设置不同的背景颜色,左侧的刻度也可以自由设定,还提供了动画效果,其实就是开启定时器慢慢的进度到设定的目标值,如果设定的值比当前值大,则递增,反之递减。由于当时的qpainter绘制功底还不够如Qt编写自定义控件18-魔法小鱼
一、前言上次发了个纯painter绘制的老鼠,那个就是qt目录下的demo,改的,只是比demo中的老鼠稍微胖一点,估计人到中年都发福吧。这次来一个魔法小鱼,这条鱼可以变换颜色,尾巴还会摇动,可以设定旋转的角度以及尾巴摆动的幅度等,原理是参考网上一个安卓大神写的(绘制原理 https://www.jianshu.coQt编写自定义控件2-进度条标尺
一、前言进度条标尺控件的应用场景一般是需要手动拉动进度,上面有标尺可以看到当前进度,类似于qslider控件,其实就是qslider+qprogressbar的杂交版本,不过我才用的是纯qpainter绘制的方式,这样非常灵活可靠,继承自qwidget,这个控件属于标尺类控件中的一个,就是在刻度尺控件基础上增加了鼠标Qt开发之绘图与更新绘图
关于Qt的绘画,简单介绍吧,一些常用的知识点 Qt中的所有的图都是画出来的,例如我们的按钮,窗口,标签上的图 画图需要两个东西 1.画家QPainter 2.画板QPaintDevice(常见的控件,按钮label窗口) Qt绘图机制为屏幕显示和打印显示提供了统一的API接口,主要有三部分组成: (1)QPainter类,提供了画图的QT_滚轮缩放_坐标轴
实现功能:滚轮缩放,鼠标左键按住移动,缩放时刻度线跟着一起移动,缩放时以鼠标的位置为中心 效果图: 工程文件: mywidget.h #ifndef MYWIDGET_H #define MYWIDGET_H #include <QWidget> #include "ui_mywidget.h" #include <QPaintEvent> #include <QtGui> QT_BEGIQt开源作品25-电池电量控件
一、前言 现在这个时代,智能手机不要太流行,满大街都是,甚至连爷爷奶奶级别的人都会用智能手机,本次要写的控件就是智能手机中的电池电量表示控件,采用纯painter绘制,其实也可以采用贴图,我估计大部分手机上的都是采用贴图的形式,贴图有个好处就是程序员不用操心,drawimage即可,速度非Qt开源作品25-电池电量控件
一、前言 现在这个时代,智能手机不要太流行,满大街都是,甚至连爷爷奶奶级别的人都会用智能手机,本次要写的控件就是智能手机中的电池电量表示控件,采用纯painter绘制,其实也可以采用贴图,我估计大部分手机上的都是采用贴图的形式,贴图有个好处就是程序员不用操心,drawimage即可,速度非常快。Qt实现流动管道的一个思路
分为管道段Section和管道连接段Join两部分。PipeSection使用drawLine绘制PipeJoin使用drawArc绘制都加入到path中去,最后调研drawPath来绘制 为了体现管道的立体性,定义管道的内壁宽度InnerLayerWidth和外壁宽度OutterLayerWidth。外壁用纯色填充,内壁用渐变色填充。 流动Flow:定义好qt 带箭头的直线 (类似viso)
近来Qt开发时可能遇到这样的需求:两个(或多个)矩形,要用直线将它们连接起来,之后还要把它们保存到xml中,并且能够还原。 类似于下图: 首先想到的就是Qt自带的demo:diagramscene。因为demo中有箭头方向,开始节点和结束节点,连坐标都已经有了,保存还原都可以完成。但是,demo的直线不是竖直