painter

Qt编写自定义控件16-魔法老鼠

情到浓时终转凉″ 提交于 2019-11-27 10:03:19
前言 五一期间一直忙着大屏电子看板软件的开发,没有再去整理控件,今天已经将大屏电子看板的所有子窗口都实现了任意停靠和双击独立再次双击最大化等功能,过阵子有空再写一篇文章介绍其中的技术点。魔法老鼠控件,来自Qt自带的demo,我只是将其修改了部分颜色接口等。 实现的功能 1:可设置身体+眼睛+眼珠+鼻子+尾巴的颜色 2:可设置停留位置旋转角度 效果图 头文件代码 #ifndef MAGICMOUSE_H #define MAGICMOUSE_H /** * 魔幻老鼠控件 作者:feiyangqingyun(QQ:517216493) 2018-7-15 * 本控件来源于qtdemo * 1:可设置身体+眼睛+眼珠+鼻子+尾巴的颜色 * 2:可设置停留位置旋转角度 */ #include <QWidget> #ifdef quc #if (QT_VERSION < QT_VERSION_CHECK(5,7,0)) #include <QtDesigner/QDesignerExportWidget> #else #include <QtUiPlugin/QDesignerExportWidget> #endif class QDESIGNER_WIDGET_EXPORT MagicMouse : public QWidget #else class MagicMouse :

Qt编写自定义控件48-面板窗体控件

こ雲淡風輕ζ 提交于 2019-11-27 01:36:22
一、前言 很多时候需要有一个控件,能够替代容器控件,自动容纳多个widget,自适应宽高,然后提供滚动条功能,这就必然需要用到QScrollArea控件,可设置各个子面板的间距等,也在很多系统中用到,比如温湿度设备面板,有几百个温湿度设备,需要一个容器放置,自动产生滚动条,可以设置面板的固定宽高或者自适应拉伸,其实就是放了表格布局+弹簧来设置。 在后期的Qt内置控件的研究过程中,发现QListWidget也提供了类似的功能,所以后期有部分应用场景直接采用QListWidget来做。 二、实现的功能 1:可设置标题栏文字/高度/字体/对齐方式/颜色 2:可设置边框宽度/边框圆角角度/边框颜色 3:可设置报警颜色切换间隔/报警加深颜色/报警普通颜色 4:可设置启用状态和禁用状态时文字和边框颜色 三、效果图 四、头文件代码 #ifndef PANELFRAME_H #define PANELFRAME_H /** * 面板区域控件 作者:feiyangqingyun(QQ:517216493) 2017-10-21 * 1:可设置标题栏文字/高度/字体/对齐方式/颜色 * 2:可设置边框宽度/边框圆角角度/边框颜色 * 3:可设置报警颜色切换间隔/报警加深颜色/报警普通颜色 * 4:可设置启用状态和禁用状态时文字和边框颜色 */ #include <QWidget> class

Qt5.9.2+vs2017:绘图

有些话、适合烂在心里 提交于 2019-11-25 23:19:21
想在窗口调用其他类的绘制函数来绘制其他类的对象 //绘制事件函数 void GameScene::paintEvent(QPaintEvent *) { QPainter painter(this); //绘制背景 //painter.begin(this); painter.drawPixmap(0,0,this->width(),this->height(),QPixmap(":/res/bb.jpg")); rab->paintEvent(painter); } 在.h中声明QPainter painter,函数声明写作void paintEvent(QPainter& painter),.cpp中写painter.begin(this),然后用painter调用函数,把painter传给其他类的paintEvent去绘图,程序绘图时会崩溃,报dll的错 但是如上做法,.h中不声明QPainter painter,函数声明写作void paintEvent(QPaintEvent *),实现中另外创建对象painter,就不会报错了 来源: https://blog.csdn.net/weixin_43266482/article/details/98739659