自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Qt自绘简单数字滚动选择控件

设计思路:设计该控件思路主要分三部分,第一是先标定两条临界线;第二时绘制4个数字显示的rect区域,图中只显示三个,还有一个则是绘制在显示区域外,根据鼠标是上划还是下划来确定初始的显示位置是在上方还是在下方;第三是重载鼠标事件,然后根据鼠标的移动来进行滚动绘制。功能说明:该控件主要是通过鼠标左键点击后上下移动的同时,数字跟随滚动,鼠标松开时则选中中间的数字。(因不会录制动图,功能就简单文字说明了0.0)。功能较为简单就不做过多的文字说明了。

2024-07-16 15:07:02 254

原创 Qt操作小技巧一

4、使用FTP下载远端文件夹又不知道文件夹里面的文件名时,可以使用QFtp的list函数,传入文件路径后,ftp在连接上远端后会获取该文件夹下的所有文件列表,只需要连接listInfo信号就可以获取到文件夹的内容,这种方法可以针对个别控件进行设置,但是当需要设置样式的两种控件都比较多时,一一写控件名的话就会显得比较臃肿,这时可以使用第二种方法。// 输出:”a”,“b”,”c”,DirectConnection, // 直接连接(同步执行,在同一线程时)// 输出:”a” ,“”, “b”,”c”,””

2024-07-14 19:05:20 858

原创 Qt简单截图工具

grabWindow()函数从屏幕上抓取像素,而不是从窗口中,也就是说,如果有另一个窗口部分或全部在你抓取的窗口上,你也会从覆盖的窗口中获取像素。注意在X11上,如果给定的窗口与根窗口的深度不同,并且另一个窗口部分或完全遮蔽了您抓取的窗口,那么您将无法从覆盖的窗口获得像素。使用窗口标识符而不是QWidget的基本原理是允许抓取不属于应用程序、窗口系统框架等的窗口。警告:抓取不属于应用程序的窗口在iOS等系统上是不支持的,其中沙箱/安全会阻止读取不属于应用程序的窗口的像素。这取决于底层的窗口系统。

2023-04-24 11:05:47 1372

原创 Qt工程文件设置

如果不需要调用编译器来创建目标,则使用此选项,例如,因为您的项目是用解释语言编写的。QT_DEPRECATED_WARNINGS 如果定义了这个宏,如果使用了被Qt声明为已弃用的API,编译器将生成警告。subdirs 创建用于在子目录中构建目标的Makefile。app 创建用于构建应用程序的Makefile(默认值)。lib 创建用于构建库的Makefile。默认情况下包含项目文件的基本名称。指定生成项目时要使用的模板的名称。

2023-03-15 17:53:36 310

原创 Qt添加日志输出文件

通过qDebug()、qInfo()、qWarning()、qCritical或qFatal()函数来使用它,这些函数实际上都是宏:例如,qDebug()扩展为QMessageLogger(__FILE__, __LINE__, Q_FUNC_INFO).debug()用于调试构建,QMessageLogger(0,0,0).debug()用于发布构建。该类提供了关于生成qDebug()、qInfo()、qWarning()、qCritical()或qFatal()消息的源代码位置的信息。

2023-02-20 17:29:41 2077

原创 QComboBox样式设置圆角后有黑色边角问题

【代码】QComboBox样式设置圆角后有黑色边角问题。

2023-02-14 11:23:44 1510

原创 QML粒子系统学习

ItemParticle使用QML的Item来渲染粒子,我们可以给ItemParticle的delegate(代理)属性设置一个Item,这样每个粒子都会使用该Item进行渲染。Emitter向粒子系统中发射逻辑粒子,这些粒子都有自己的轨迹和生命周期,但他们是不可见的,想要可见的话就要用到ParticlePainter了。void give(Item item):获取Item的控制权,该Item将断开和逻辑粒子的关联;粒子组(ParticleGroup):每个粒子都是一个粒子组的成员。

2023-01-30 16:29:11 306

原创 Qt自绘控件之扇形统计图

QPainter中绘制完整的圆等于5760(16 * 360),此处数值用于计算每一块扇形区域所显示的。需要了解一下扇形二等分线的计算方法。要注意做坐标原点转换。

2023-01-05 15:22:52 1656

原创 QScrollBar垂直滚动条简单样式定制

效果如图,QScrollArea,QComboBox,QTableView等需要使用滚动条的控件均可适用。

2022-12-28 15:10:20 375

原创 Qt——简单树形控件样式设计(QTreeWidget)

/设置树形控件子项的属性。//初始状态没有被选中。通过拼接线段图片设置样式制作(如有侵权请联系删除)

2022-12-12 17:57:57 2542

原创 记录使用QMap的迭代器对map进行频繁访问导致程序cup飙涨崩溃问题

在对map进行访问时使用上述代码块方式进行遍历访问在单次或者操作不频繁的逻辑处理中时是正常的,但当我们将改访问逻辑放频繁操作的业务处理中时(如:鼠标点击事件中进行频繁快速的点击访问时),会出现频繁的复制和拷贝迭代器的情况导致程序cpu瞬间飙升而被系统默认杀掉。所以如果存在需要频繁访问map的情况建议可以使用以下方式:个人处理见解,如有错误请指教

2022-10-09 09:38:36 665

原创 带QScroller的控件在高分辨率下出现点击内部控件无法响应问题

出现这种情况是因为在点击过程中控件会将点击事件进行一个类似“截留”的操作,用以判断是否需要出发QScroller的滚动事件,然后就会导致上图的情况出现,解决此类问题需要用到QScrollerProperties这个类来设置控件属性。按照约定,QScrollerProperties是以物理单位(米、秒)为单位的,QScrollerProperties使用当前的DPI进行转换。QScrollerProperties类存储QScroller使用的参数。默认设置是平台相关的,因此Qt可以模拟动态滚动的平台行为。

2022-09-30 09:52:00 348

原创 Qt自绘常用刷新绘制函数update()用法记录

一、update()使用场景:1、更新小部件,除非禁用更新或隐藏小部件。 2、更新自绘数据如:图表,实时数据显示等二、使用方法使用update()这个函数不会立即重新绘制;在调用后会生成一个update的刷新事件,并加入到Qt主事件循环中,它会安排一个绘制事件进行处理。这使得Qt可以比调用repaint()实现更快的速度和更少的闪烁。但是多次调用update()通常只会产生一个paintEvent()调用。此时会出现一种情况当频繁调用update时,

2022-09-27 10:46:59 6210 1

转载 记录random学习详解博文

随机数引擎类(random-number engines)、随机数分布类(random-number distribution)。

2022-09-27 10:14:16 125

原创 Qt-QTableView委托模型学习2——模型类实现

例如,我们可以实现一个简单的只读的基于qstringlist的模型,它向QListView小部件提供字符串列表。在这种情况下,我们只需要实现rowCount()函数来返回列表中的条目数,以及data()函数来从列表中检索条目。columnCount()函数的实现是为了与所有类型的视图互操作性,但默认情况下会通知视图模型只包含一个列。QAbstractListModel类官方解释QAbstractListModel类提供了一个抽象模型,可以继承这个抽象模型来创建一维列表模型。它不直接使用,但必须子类化。...

2022-07-15 13:41:24 507

原创 Qt-QTableView委托模型学习1——委托类实现

前言使用委托模型时需根据自身需求进行模型和委托类进行选择如数据量小,且需要显示的内容并不复杂时建议直接选用QtableWidget之类的控件直接填充数据即可。选择继承QStyledItemDelegate类是因为QStyledItemDelegate是所有Qt项目视图的默认委托,这样可以更灵活的去定义我们想要数据显示。当单一的控件无法满足我们的功能需求和数据显示时,我们可以采用自绘的方式去绘制我们需要的数据和功能按键。注意通常我们进行委托类设计时都会对一下几个虚函数进行实现来实现我们想要的功能。......

2022-07-15 10:38:09 1173

原创 Qt学习——绘制贝塞尔曲线

1、绘制曲线首先认为所有的线都是由点组成的,于是尝试采用直接绘制两点连接直线的方式来绘制曲线,代码如下 QPainter painter(this); painter.setRenderHints(QPainter::Antialiasing); painter.setPen(QPen(Qt::red,2,Qt::SolidLine)); for(int i = 0; i < _lines.size(); ++i) { const Q

2021-07-02 09:36:11 3768

原创 Qt文件、目录操作相关总结一

1QFileQFile类提供了读取和写入文件的接口。QFile是一个读写文本、二进制文件和资源的I/O设备。QFile可以自己使用,也可以更方便地与QTextStream或QDataStream一起使用。文件名通常在构造函数中传递,但它可以在任何时候使用setFileName()设置。不管操作系统是什么,QFile都希望文件分隔符是'/'。不支持使用其他分隔符(例如'\')。您可以使用exists()检查文件是否存在,并使用remove()删除文件。(更高级的文件系统相关操作由QFileInfo和QDi

2021-03-05 10:46:01 403 1

原创 Qt软件发布获取依赖库

开始菜单打开 Qt 命令行,然后通过命令行进入到release编译生成的exe文件夹下然后使用 Qt安装目录的windeployqt 工具命令:windeployqt *.exe等拷贝完成则可以将程序所依赖的dll文件和插件拷贝到程序执行目录...

2021-01-18 17:35:28 218 1

原创 Qt快速定位打印内容

qDebug()<<__FILE__<<":"<<__func__<<","<<__LINE__<<" : "显示打印所在cpp文件名,函数名,行号

2020-12-14 14:06:45 150

原创 关于QWidget作为子窗口透明问题

1、重载paintevent实现 QStyleOption opt; opt.init(this); QPainter p(this); p.setCompositionMode(QPainter::CompositionMode_Clear); //设置为完全透明 style()->drawPrimitive(QStyle::PE_Widget,&opt,&p,this);这种方法在widget有父类的情况下,重载paintevent后

2020-11-23 14:22:49 1639

原创 opencv移植arm及常见问题、示例

Opencv移植到arm端常见问题汇总:安装cmake-guisudo apt-get install cmake-gui;建议切换到root模式下cmake-gui然后点击configure点击next注意在target root处填写的是整个交叉编译工具的路径,不只是bin目录然后点击finishConfigure完成后可以选择将...

2019-03-25 10:51:21 508

原创 mqtt移植及arm端Qt使用

一、简述MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物...

2019-03-02 18:05:52 3850 8

Qt Creator文件编辑器样式

使用时去掉.bin,然后将文件拷贝到Qt安装包路径下,如:“D:\soft\Qt5.9.9\Tools\QtCreator\share\qtcreator\styles”

2021-01-19

空空如也

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

TA关注的人

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