painter

How to render in Qt3D in standard GUI application?

匿名 (未验证) 提交于 2019-12-03 02:48:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 由 翻译 强力驱动 问题: I enjoy using Qt3D, but all of the examples I see for it are full window applications. What I can't understand from the examples is how to add a qt3d rendering window to a regular qt gui application. Basically what I want is a little rendering widget for my Qt5 Gui application. I've looked into Qtgl widget, but I really want to use the scene management abilities of Qt3D. How can I render as a sub window inside of a qt Gui window? Is this possible? Update So I added this to my MainWindow.cpp It is loosely based off of this http:/

Qt编写自定义控件12-进度仪表盘

╄→гoц情女王★ 提交于 2019-12-03 01:07:49
前言 进度仪表盘主要应用场景是标识一个任务进度完成的状况等,可以自由的设置范围值和当前值,为了美观还提供了四种指示器(圆形指示器/指针指示器/圆角指针指示器/三角形指示器),各种颜色都可以设置,其中的动画效果采用的QPropertyAnimation类来实现,主要是线性插值法,生成一定规则的数值,用于设定的属性。今天有个朋友需要安卓版本的控件,其实采用qwidget写的控件都可以直接编译就可以到android上,于是直接重新编译了安卓版本,对应的apk已上传到共享文件夹,文末贴出android运行效果图。 实现的功能 1:支持指示器样式选择 圆形指示器/指针指示器/圆角指针指示器/三角形指示器 2:支持鼠标按下旋转改变值 3:支持负数范围值 4:支持设置当前值及范围值 5:支持设置起始旋转角度和结束旋转角度 6:支持设置背景色/进度颜色/中间圆渐变颜色 7:随窗体拉伸自动变化 8:支持鼠标进入和离开动画效果 9:可设置是否显示当前值 10:可设置是否显示指示器 效果图 头文件代码 #ifndef GAUGEPROGRESS_H #define GAUGEPROGRESS_H /** * 进度条仪表盘控件 作者:feiyangqingyun(QQ:517216493) 2016-12-03 * 1:支持指示器样式选择 圆形指示器/指针指示器/圆角指针指示器/三角形指示器 * 2

QT--源码实现烧烤箱表盘实现

匿名 (未验证) 提交于 2019-12-03 00:34:01
//自定义画笔、绘制窗口、表盘绘制和渐近线操作 具体效果如下:间隔一秒自动旋转 /*------------头函数----------------*/ #ifndef OVENTIMER_H #define OVENTIMER_H #include < QDateTime > #include < QtWidgets / QWidget > #include < QTimer > class OvenTimer : public QWidget { Q_OBJECT public : OvenTimer ( QWidget * parent = 0 ); void setDuration ( int secs ); int duration () const ; void draw ( QPainter * painter ); signals : void timeout (); protected : void paintEvent ( QPaintEvent * event ); void mousePressEvent ( QMouseEvent * event ); private : QDateTime finishTime ; QTimer * updateTimer ; QTimer * finishTimer ; }; #endif /*-----------

SAP_ABAP_什么是修改助手Modification Assistant

匿名 (未验证) 提交于 2019-12-03 00:27:02
  修改助手是4.5版本中引入的一个工具,用于简化更新过程。可以通过ABAP编辑器触发修改助手,它会记录对系统进行的修改。修改助手支持通过ABAP编辑器、Screen Painter、Meu Painter、文本元素维护、Function Builder和ABAP字段进行的修改。 文章来源: SAP_ABAP_什么是修改助手Modification Assistant

QT:用 QGraphicsItem 自定义一个 箭头

匿名 (未验证) 提交于 2019-12-03 00:22:01
声明 class CLineItem : public QObject, public QGraphicsItem { Q_OBJECT Q_INTERFACES(QGraphicsItem) public : explicit CLineItem (QObject *parent = 0 ); ~CLineItem( void ); virtual QRectF boundingRect() const ; virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget); void setLineItem(QPointF startP, QPointF endP); void setColor(QColor color); private : void CreatePointNodes ( void ); private : QPointF m_EndP; QPointF m_points[ 3 ]; QColor m_Color; }; 定义: CLineItem::CLineItem(QObject *parent) : QObject(parent) { //setFlag(ItemIsMovable); setFlag

Qt编写自定义控件66-光晕时钟

匿名 (未验证) 提交于 2019-12-03 00:14:01
在上一篇文章写了个高仿WIN10系统的光晕日历,这次来绘制一个光晕的时钟,也是在某些网页上看到的效果,时分秒分别以进度条的形式来绘制,而且这个进度条带有光晕效果,中间的日期时间文字也是光晕效果,整体看起来有点科幻的感觉,本控件没有什么技术难点,如果真要有难点的话也就是如何产生这个光晕效果,在使用painter绘制的时候,设置画笔,可以设置brush,brush可以是各种渐变效果,这个就非常强大了,主要有线性渐变、圆形渐变、锥形渐变,这三种渐变用得好,各种效果都得心应手随手拈来。 为了产生光晕效果,需要用到圆形渐变,并对圆形渐变中的不同的位置设置透明度值来处理,时分秒对应的进度可以自动计算出来,这个不难,比如直接用QTime可以获取对应的时分秒,然后时钟和分钟除以60,秒钟除以1000来获取对应的进度。绘制光晕文本采用的QPainterPath的addText来实现。 1:可设置圆弧半径宽度 2:可设置光晕宽度 3:可设置光晕颜色 4:可设置文本颜色 5:采用动画机制平滑进度展示时间 #ifndef SHADOWCLOCK_H #define SHADOWCLOCK_H /** * 光晕时钟控件 作者:雨田哥(QQ:3246214072) 整理:feiyangqingyun(QQ:517216493) 2019-10-07 * 1:可设置圆弧半径宽度 * 2:可设置光晕宽度 * 3

自学QT之键盘事件

匿名 (未验证) 提交于 2019-12-03 00:03:02
首先新建一个项目:为了方便,直接拷贝的书上源码,书为《QT5开发及实例(第二版)》 头文件: #ifndef KEYEVENT_H #define KEYEVENT_H #include < QWidget > #include < QKeyEvent > #include < QPaintEvent > class KeyEvent : public QWidget { Q_OBJECT public : KeyEvent ( QWidget * parent = 0 ); ~ KeyEvent (); void drawPix (); void keyPressEvent ( QKeyEvent *); void paintEvent ( QPaintEvent *); private : QPixmap * pix ; QImage image ; int startX ; int startY ; int width ; int height ; int step ; }; #endif // KEYEVENT_H 源代码: #include "keyevent.h" #include < QPainter > KeyEvent :: KeyEvent ( QWidget * parent ) : QWidget ( parent ) { setWindowTitle (

HDU2476 String painter(DP)

匿名 (未验证) 提交于 2019-12-02 23:49:02
String painter 给出两个字符串s1,s2。对于每次操作可以将 s1 串中的任意一个子段变成另一个字符。问最少需要多少步操作能将s1串变为s2串。 太妙了这个题,mark一下。 这个题先考虑怎么由空串转化s2, \(f[i][j]\) 表示从空串到s2最少的次数, 则有 \(f[i][j]=s[i+1][j]+1\) , 若 \([i+1,j]\) 存在一个 \(k\) ,使 \(s2[i]==s2[k]\) ,则 \(f[i][j]=min\{f[i+1][k]+f[k+1][j]\}\) , \(k\) 为断点, \(i\) 和 \(k\) 同时刷。 然后再考虑把s1刷成s2的代价 设 \(sum[i]\) 表示把 \(s1[1,i]\) 刷成 \(s2[1,i]\) 的次数 当 \(s1[i]==s2[i]\) 时,可以不刷,显然 \(sum[i]=sum[i-1]\) 否则,在区间内找最小次数 \(sum[i]=min\{sum[j]+f[j+1][i]\}\) #include < bits / stdc ++. h > using namespace std ; const int N = 1e3 + 10 ; int n , m ; int f [ N ][ N ], sum [ N ]; char s [ N ], t [ N ]; int main (

Qt编写自定义控件38-高亮按钮

假如想象 提交于 2019-12-02 03:37:27
一、前言 高亮按钮控件,既可以作为类似于交通指示灯使用,也可以作为设备状态指示灯使用,控件内置多套颜色风格,还可以自己设置颜色风格,按钮可以增加文字显示,非常适合需要在状态设备上显示小量的文字展示,按钮还可以开启报警,开启后会红黑闪烁,也可以自定义设置报警的两种颜色,除了默认是圆形外,还可以设置成矩形模式,控件写好了作为独立控件拖动使用,这样的话可以将控件作为一个设备,在地图上拖动,用户只需要开启拖动即可,不需要再自己编码。 二、实现的功能 1:可设置文本,居中显示 2:可设置文本颜色 3:可设置外边框渐变颜色 4:可设置里边框渐变颜色 5:可设置背景色 6:可直接调用内置的设置 绿色/红色/黄色/黑色/蓝色 等公有槽函数 7:可设置是否在容器中可移动,当成一个对象使用 8:可设置是否显示矩形 9:可设置报警颜色+非报警颜色 10:可控制启动报警和停止报警,报警时闪烁 三、效果图 四、头文件代码 #ifndef LIGHTBUTTON_H #define LIGHTBUTTON_H /** * 高亮发光按钮控件 作者:feiyangqingyun(QQ:517216493) 2016-10-16 * 1:可设置文本,居中显示 * 2:可设置文本颜色 * 3:可设置外边框渐变颜色 * 4:可设置里边框渐变颜色 * 5:可设置背景色 * 6:可直接调用内置的设置 绿色/红色/黄色/黑色

Qt编写自定义控件51-可输入仪表盘

孤街浪徒 提交于 2019-12-01 21:51:35
一、前言 这个控件是近期定制的控件,还是比较实用的控件之一,用户主要是提了三点需求,一点是切换焦点的时候控件放大突出显示,一点是可直接输入或者编辑值,还有一点是支持上下键及翻页键和鼠标滚轮来动态修改值,类似于qspinbox控件。要能够支持直接输入首先想到的就是qlineedit控件,在原有的仪表盘控件上中间部分,放置一个qlineedit控件用来输入值,采用正则表达式来限制只能输入数字,为了使得qlinedit和自定义绘制的仪表盘完全融为一体,必须设置qlineedit的样式为背景透明,至于输入框的位置,有个小技巧就是直接将输入框设置为控件的大小,这样输入的焦点永远在控件的中间,完全混合,丝毫看不出是一个输入框控件插在那里,至于上下键及翻页键和鼠标滚轮,直接安装事件过滤器即可识别到,进行对应的处理即可。 二、实现的功能 1:可设置范围值,支持负数值 2:可设置开始旋转角度/结束旋转角度 3:可设置是否启用动画效果以及动画效果每次移动的步长 4:可设置外圆背景/内圆背景/进度颜色/空余颜色/文字颜色 5:自适应窗体拉伸,文字自动缩放 6:支持tab及鼠标按下切换焦点 7:支持直接输入值立即应用 8:获取焦点控件自动变大 9:支持键盘上下键步长为1修改值 10:支持上下翻页键步长为10修改值 11:支持鼠标滚轮步长为1修改值 三、效果图 四、头文件代码 #ifndef