自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(107)
  • 资源 (1)
  • 收藏
  • 关注

原创 Qt判断Windows和Linux 条件编译#if的写法

【代码】Qt判断Windows和Linux 条件编译#if的写法。

2025-04-02 15:22:33 81

原创 qss样式表总结(使用时直接复制粘贴修改)

(上下为绿,左右为红)按顺序是背景图片、背景平铺、背景水平位置、背景上下位置。按顺序是:字体风格,字体粗细,字体大小,字体族。按顺序是背景色、背景图片、背景平铺、背景位置。按顺序是:边框宽度 边框风格 边框颜色。(8位时,前面2位的ff表示透明度)字体装饰:(下划线、删除线之类的)(4个角的圆角半径是3px)(最后一个数字表示透明度)也可以只指定其中1和或几个。还可以单独指定某一条边框。

2025-02-28 14:28:26 712

原创 重写QListWidget/QListView的代理,以网格的形式展示Item

2、然后确定每个item的大小,重写代理的。QListWidget的ViewMode。

2025-02-20 21:13:40 210

原创 使用QPainter绘制pixmap时保持纵横比

有时候绘制图片时希望保持纵横比,而不是随着绘制区域的矩形进行自动缩放。

2025-02-13 16:27:25 117

原创 Qt中mapToGlobal的使用

直接调用全局函数,参数传QPoint(0,0);将一个控件的左上角映射到在全屏中的坐标。

2025-02-12 15:47:27 159

原创 自定义QComboBox,下拉列表增加间距,增加弹出动画,支持圆角

【代码】自定义QComboBox,增加间距,增加弹出动画,支持下拉列表圆角。

2025-02-06 10:58:57 268

原创 Qt绘制一个星星

【代码】Qt绘制一个星星。

2024-12-22 15:28:15 178

原创 翻转动画

小于90度时绘制第一个pixmap,大于90时绘制第二个pixmap。6、动画结束后,设置stacked widget的当前widget。将两个widget的内容渲染到一个2个QPixmap中。2、里面放了2个widget,一个蓝色一个红色。4、通过动画不停的修改旋转角度,然后重绘界面。得QPainter绕某个轴(x,y,z)旋转。1、放了1个stacked widget。默认是z轴,也就是在xy平面中旋转。

2024-12-14 10:47:19 260

原创 给控件或者窗口加阴影

通过该类QGraphicsDropShadowEffect的接口来设置阴影的属性。我们可以通过QWidget的这个方法来添加阴影。最后将这个效果设置给Widget就可以了。

2024-12-09 11:49:41 329

原创 带动画的开关按钮

4、重写鼠标点击事件,点击后修改开关状态,同时开始属性动画,会不停的修改滑块的当前位置然后重绘。5、重写resize事件,更新滑块的当前位置和属性动画,否则滑块的位置在resize后不会准确。2、再根据滑块当前的位置绘制滑块。1、先绘制背景的圆角矩形。

2024-12-08 12:18:12 456

原创 波浪进度条

5、然后再在第一步之前给QPainter设置可见区域,把这个圆的范围设置为可见区域,这样多余的蓝色就不显示了。1、先绘制波浪状的QPainterPath ,即sin曲线。2、通过定时器不停的更新sin曲线的初始相位来呈现波动的效果。需要指定可见区域的路径,这里可见区域是一个圆。4、然后绘制中间的文本。调用QPainter的。3、然后绘制中间的圆。

2024-12-05 18:16:29 594

原创 雷达控件

雷达控件。

2024-12-04 11:42:22 201

原创 仪表盘

2、再画刻度线和刻度值,绘制时,先把painter旋转135度到起始刻度处。根据QFontMetrics来获取指定文本的宽度和宽度。1、先画底部蓝色的圆。

2024-12-02 15:58:24 260

原创 责任链模式

除了处理请求外, 处理者还负责沿着链传递请求, 请求会在链上移动, 直至所有处理者都有机会对其进行处理。定义:使得多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。外部使用时将这些对象练成一条链,并沿着这条链传递该请求,直到有一个对象处理他为止。以请假为例,向提交给A处理,A无法处理则交给B,B无法处理则交给C处理。缺点:增加新的请求处理类很方便,但是不能保证你的请求一定会被接受。链上的每个处理者都有一个成员变量来保存下一个处理者。1、定义抽象处理者,定义处理请求的接口,

2024-12-02 11:17:13 506

原创 环形进度条

其中dx1,dy1,表示原来矩形的左上角往里或者往外缩多少,都为正,则左上角往里缩,都为负,则左上角往外缩。dx2,dy2,表示原来矩形的右下角往里或者往外缩多少,都为正,则右下角往外缩,都为负,则右下角往里缩。注:里面的set和get方法,还有Q_PPROPERTY都是qt自己加的,点击重构就可以添加。1、QRect::adjusted快速根据一个矩形进行调整得到另一个矩形。2、确定半径为宽高中较小值的一半,防止缩放变形,优先填满较小的那一边。4、绘制中间的扇形,且采用中间锥形渐变。

2024-12-01 15:43:57 323

原创 代理模式

注意:如果使用代理模式,不能改变被代理的类的接口,使用代理模式的目的是为了加强控制。4、外部使用时,直接使用代理类的接口来间接操作被代理类。定义:为其他对象提供一种代理亿控制对这个对象的访问。3、代理类提供接口来调用背部被代理类的接口。缺点:造成请求的处理速度慢,实现复杂。优点:职责清晰,高扩展性,智能化。1、代理类和被代理类有相同的父类。2、代理类内部含有被代理类的指针。应用创景:优化接口性能。

2024-12-01 11:31:23 353

原创 Qt中QML和C++混合编程

使用QML开发界面。

2024-11-28 11:30:29 1420

原创 原型模式

功能:复制一个运行时的对象,包括对象各个成员当前的值。并且能够通过父类的指针来克隆出子类的对象。3、外部使用时就可以通过调用clone()方法来获得1个与当前对象完全一样的对象。2、继承重写clone(),clone()内部调用拷贝构造函数创建一个新的对象。1、定义抽象原型,声明纯虚接口clone()优点:性能提高、避免了构造函数的约束。主要解决:在运行期建立原型。

2024-11-25 21:17:55 408

原创 工厂模式

将工厂也抽象出来,以后有新的产品,则新加一个具体的工厂类就可以了,不用修改工厂类的代码。只有一个工厂类,每次有新的产品就需要修改里面接口的内容,违反了封闭原则。主要解决对象的创建问题。

2024-11-22 20:46:55 200

原创 观察者模式

5、(可有可无)抽象观察者内部也可以维护一个被观察者的指针,在构造函数中就可以将当前观察者注册到这个被观察者中,不用在外部调用注册接口了。或者当应用中一些对象必须观察其它对象的时候可以使用观察者模式。遍历观察者的list,调用每一个观察者的update接口。2、子类继承实现抽象观察者,重写update接口。,这个接口用来接收被观察者的消息。一个对象的状态发生变化。需要改变其它对象的时候。添加和删除观察者的接口。

2024-11-21 21:01:18 434

原创 QT Designer内存飙升

偶然出现了 QT Designer内存飙升 把内存占满了的问题。前往C:\Users\\.designer目录。重启Qt Designer就好了。删掉gradients.xml。的文件,而且这个文件特别大。原因:反复的在读一个叫。

2024-11-21 19:42:46 427

原创 策略模式

而且使用Context类的人在外部想使用不同的算法时不用写很多的if语句了,,算法1,算法2,...,算法n,把他们封装起来,使他们可以相互替换。避免了很多的if elseif else。一个类的行为或者其算法可以在运行时改变。

2024-11-20 21:01:50 398

原创 单例模式

1、将构造函数设为私有,拷贝构造函数设置为私有(或者delete掉),赋值函数设置为私有(或者delete掉)在内存里只有1个实例,减少内存的开销,尤其是频繁的创建和销毁实例。如果希望在系统中某个类的对象只能存在1个,那么就使用单例模式,比如配置类。定义:保证1个类仅有1个实例,并提供一个访问他的全局访问点。还可以使用std::call_once解决多线程访问的问题。主要解决了:全局使用的类频繁的创建与销毁。2、提供几个静态的访问唯一实例的接口。需要访问这个实例时才初始化这个实例。

2024-11-19 20:27:35 503

原创 QT中使用图表之QChart绘制面积图

4、使用QChart::createDefaultAxes()创建默认的x轴和y轴(根据内部的系列)需要给系列设置上折线和下折线(QLineSeries),如果没有设置下折线,则默认x轴为下折线。创建上折线和下折线(QLineSeries),并将上下折线设置给面积系列。绘制面积图,则系列选择面积系列QAreaSeries。3、创建面积系列(QAreaSeries),2、创建图表,并将图表设置给图表视图。设置面积系列的一些属性。

2024-11-18 20:26:17 372

原创 QT中使用图表之QChart绘制柱状图

3、创建X轴(使用条形图的种类轴QBarCategoryAxis)和Y轴,并添加到图表中。可以添加多个条形集合,若有多个,则每一个种类对应的条形就有多个。5、将条形系列QBarSeries添加到图表中,并和XY轴进行关联。并添加条形集合,在条形集合中追加每一个种类对应的值。绘制条形(柱状)图,系列选择条形系列QBarSeries。4、创建条形系列QBarSeries,设置其相关属性,2、创建图表,并将图表设置给视图,设置图表的一些属性。并设置条形集合的一些属性。

2024-11-17 21:07:23 628

原创 QT中使用图表之QChart绘制饼图

绘制一个饼图,点击对应切片可以让切片分离。2、创建图表并将图表设置给图表视图。饼图没有坐标轴,也不需要坐标轴。3、创建饼图系列,并给系列。饼图里面一个一个的块称为。4、将系列添加到图表中。

2024-11-15 20:28:36 932

原创 Qt中实现旋转动画效果

动画开启后,就会不停的调用setRotation(属性write函数)去修改这个属性的值。于是QPropertyAnimation就会使得对应的控件不停的重绘,就产生了动画效果。我们在setRotation这个函数中修改属性的值后,调用update()使用QPropertyAnimation类绑定对应的属性后。就可以给这个属性设置对应的动画。

2024-11-15 20:02:15 837

原创 大小改变事件

通常在窗口尺寸变化后,在尺寸改变事件中,获取最新的尺寸,然后将内部某些控件的大小也跟着改变,或者改变布局。获取之前的尺寸:ev->oldSize()获取大小改变后的尺寸:ev->size()事件对应的类为:QResizeEvent。窗口改变后,内部按钮的大小跟着改变。即窗口尺寸变化时会触发这个事件。

2024-11-13 20:09:38 502

原创 自定义鼠标图片

QWidget可以设置鼠标QCursor。QCursor可以设置自定义图标。比如将光标设置为以下形状。

2024-11-13 16:21:53 177

原创 QT中使用图表之QChart绘制动态折线图

3、创建x轴(采用QDateTimeAxis日期时间轴),将x轴加到图表中,并设置x的范围为[每一秒增加1个点,总共显示10s内的数据。7、创建定时器,并开启定时器,在定时器。同时删除不可见的点,防止内存一直增长。5、创建折线系列,并添加到图表中,6、将x轴和y轴和折线系列进行关联。2、创建图表,并将图表设置给视图。当前时间,当前时间往后推10s。4、创建y轴,将y轴加到图标中。当前时间往前推10s,当前时间。此时先不往折线系列中添加数据。使用QChart绘制一个。往折线系列中添加数据。

2024-11-11 20:22:26 956

原创 Qml组件之Text

可以显示纯文本和富文本继承自itemText{常用属性。

2024-11-06 20:53:37 1205

原创 Qml组件之Rectangle

继承自Item纯色或者渐变基本属性。

2024-11-05 20:23:21 404

原创 Qml组件之Item

KeyNavigation:获取焦点时,按上下左右,焦点移动到其他的元素上。所有可视化元素的基类,其他所有可视化元素都继承自Item。定义了所有可视化元素共有的属性,其子类都可以使用这些属性。anchors和margins:确定位置和宽高。Keys:获取焦点时,处理键盘按下哪个键。width、height:确定宽高。本身不会有任何绘制操作。focus:获取焦点。

2024-11-04 19:52:39 244

原创 QML基础语法2

关键字 函数名(参数名1:参数类型,参数名2:参数类型,...):返回值类型{}名(参数名1:参数类型,参数名2:参数类型,...):返回值类型。关键字 信号名(参数名1:参数类型,参数名2:参数类型...)定义一个信号号,同时可以定义一个自动绑定信号的槽函数。当前qml文件中只能使用其他qml文件中定义的枚举。定义的枚举无法在当前qml文件中使用和访问。将自己的槽函数连接到其他元素中的信号。参数不能加参数类型,只需要参数名。将自己的信号连接其他元素的槽函。qml自带的或者自己定义的这些。

2024-11-03 21:21:23 1222

原创 QML基础语法1

语法格式:property关键字属性类型 属性初始值其中,default、required、readonly为可选项属性初始值也可以没有default:默认的,没什么特别意义,可加可不加required:必须的,定义的时候不能赋初值,需要用户在使用包含这个属性的元素时,这个属性必须要先赋值还可以将一个已存在的属性转为requiredid: rectrequired width//将宽度属性设为必须的width: 100readonly:只读的,即这个属性不可修改。

2024-11-02 09:21:49 979

原创 QT中使用图表之QChart绘制X轴为日期时间轴的折线图

4、构建x轴-日期时间轴,设置轴的属性,并将轴添加到图表中。在追加数据点时,x轴的是需要的是一个毫秒数,才能显示出来。5、构建y轴-数值轴,设置轴的属性,并将轴添加到图表中。6、构建图标里的系列(具体的图),将系列添加到图表中。7、将轴附加到系列,是点显示在正确的位置上。步骤和画折线图一模一样,只不过使用的轴是。日期时间轴QDateTimeAxis。显然X轴是日期时间轴的话,那么我们。传入的是2个QDateTime。QChart中日期时间轴的。数据的x值需要是一个毫秒数。3、将图表设置给图表视图。

2024-10-31 20:40:18 1048 1

原创 QtCreator中使用qcustomplot构建失败

在.pro文件中加入。

2024-10-30 14:32:22 358

原创 QT中使用图表之QChart绘制曲线图

他会根据图表中添加的系列创建不同的轴:(曲线系列属于QXYSeries)6、创建默认的坐标轴(必须要在addSeries之后才能调用)5、创建曲线系列,给系列添加点,并将系列添加到图表中去。步骤和绘制折线图一模一样,只不过使用的系列。然后获取坐标轴,对坐标轴进行各种属性设置。4、设置标题和图例的一些属性(可选)是曲线系列QSplineSeries。先把曲线系列创建好并添加到图表中之后。8、 获取y轴 ,并设置相关属性。7、获取x轴 ,并设置相关属性。3、将图表设置给图表视图。将坐标轴附加到系列中。

2024-10-29 20:11:23 813

原创 QT中使用图表之QChart绘制折线图

需要注意的是同一个轴只能添加进图表一次,再次添加则不会生效,这个轴的位置可以在左边也可以在底部也可以在右边.......我们还可以控制点是否显示,以及点的文本,Qt6.2之后还可以单独设定每个点的样式。8、创建折线系列,设置系列的各种属性,给系列添加点,然后把系列添加到图表中。其中有很多属性可以设置,上面设置了一些常用的,还有其他属性可查手册 ,6、创建X轴,设置轴的各种属性,然后将轴添加到图表的底部。7、创建Y轴,设置轴的各种属性,然后将轴添加到图表的左边。9、关联系列和xy轴,使系列显示的位置正确。

2024-10-29 15:57:05 1554

原创 QT中使用图表之QChart概述

其中QChart需要调用addSeries()添加了系列进去之后才能调用createDefaultAxes创建默认的轴。2、创建QChart的对象,将QChart的对象设置给QChartView的对象,让他把QChart显示出来。在Qt中使用QChart类可以快速绘制一个图表出来,比如折线图、饼图、柱状图等。是专门用来显示图表的类,相当于一个QWidget或者窗口,:最底层的一个视口,用来将整个QChart显示出来。,有多个系列,比如折线系列,饼状系列,柱状系列。系列(即图表中画的图形)也有很多种,比如。

2024-10-29 14:48:57 633

QT中使用图标字体,示例

QT中使用图标字体,示例

2024-07-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除