- 博客(22)
- 资源 (46)
- 收藏
- 关注
原创 Qt C++属性类型提供给 QML调用(五)
前言前面已经介绍了四种从 QML 调用 C++的属性的方法,今天介绍最后一种,从 QML 调用 C++中的函数以及连接 C++中的信号。调用 C++函数任何继承于 QObject 类的 C++类型都可以在 QML 中进行调用,调用C++方法有两个前提:C++类继承于 QObject 类将要调用的方法必须是 public 类型的满足以上两个条件就可以对 C++方法进行调用,...
2018-05-31 07:52:39 851
原创 Qt C++属性类型提供给 QML调用(四)
前言前面已经介绍了三种关于 QML 调用 C++的属性方法,那么,今天继续介绍一种新的属性调用:分组属性。分组属性QML 调用 C++的分组属性,所谓的分组属性, 其实和第二篇文章介绍的调用类属性有些类似,写法有点类似下面这种形式:Rectangle{ anchors.left: ... anchors.leftMargin:...}这其实就是一个分组属性...
2018-05-30 07:52:17 792
原创 Qt C++属性类型提供给 QML调用(三)
前言前面两篇文章已经介绍了 QML 中如何调用 C++中的基础属性以及对象属性,今天继续来介绍另外一种:对象为列表类型的属性调用方法。概述包含QObject派生类型列表的属性也可以暴露给QML使用,但是,应该使用QQmlListProperty类而不是QList 作为属性类型。这是因为QList不是QObject派生的类型,所以不能通过Qt元对象系统提供必要的QML属性特性,例如,...
2018-05-29 23:11:44 1897 5
原创 Qt C++属性类型提供给 QML调用(二)
概述在上一篇文章中已经介绍了 QML 中如何调用 C++的基础属性,那么这里来介绍如何调用C++对象类型属性。QML 调用对象类型属性在上一次的代码基础上直接修改一下, 再添加一个类定义,如下:#include <QObject>class StudentCourse;class Student : public QObject{ Q_OBJECT ...
2018-05-27 18:56:35 584
原创 Qt C++属性类型提供给 QML调用(一)
概述由于QML引擎与Qt元对象系统的紧密集成,任何由QObject派生出来的类其公有的接口或属性都可以从QML代码中轻松访问,并且改动的地方很少,就可以让C++代码定义的功能轻松扩展QML。任何QML代码都可以访问QObject派生类的实例的以下成员:属性方法(用Q_INVOKABLE标记)信号另外,如果用Q_ENUMS声明了枚举,那么枚举也是可以直接调用的。 通常来说,...
2018-05-27 17:50:13 2206
原创 Mac OS 软件包管理器Homebrew
前言当我们在 Mac os 下安装软件的时候,常常会因为缺失依赖包而不得不停止,这时候通常的做法就是在网上下载各种依赖包来进行一一的安装,这种操作难免会有些复杂了,并且很浪费时间。那么今天要讲的是一个专门用于Mac 下缺失的软件包管理器Homebrew。 Homebrew是 Mac os 下不可或缺的软件包管理器,可以通过终端方便的使用它来安装管理苹果没有自带的Unix相关工具软件。安装...
2018-05-25 07:50:09 1096
原创 函数指针和指针函数用法和区别
前言函数指针和指针函数,在学习 C 语言的时候遇到这两个东西简直头疼,当然还有更头疼的,比如什么函数指针函数、指针函数指针、数组指针、指针数组、函数指针数组等等,描述越长其定义就越复杂,当然理解起来就越难,特别是刚开始学习这门语言的童鞋,估计碰到这些东西就已经要崩溃了,然后好不容易死记硬背下来应付考试或者面试,然后过了几天发现,又是根本不会用,也不知道该在哪些地方用,这就尴尬了。 今天这里只...
2018-05-24 08:11:10 286046 72
原创 Qt之Q_GLOBAL_STATIC创建全局静态对象
概述所谓的全局静态对象,大多是在单例类中所见,之前写过一篇文章介绍如何实现一个单例类,在这里,这是最常见的方式来进行创建,需要自定义 static 类对象, 并进行手动初始化。而今天要说的是更简单的方式来实现,Qt 提供了一个非常方便的宏Q_GLOBAL_STATIC,可以快速创建全局静态对象。QGlobalStatic类其实Q_GLOBAL_STATIC宏是在QGlobalStati...
2018-05-23 08:08:42 13302 1
原创 Qt时间轴QTimeLine的基本用法
概述QTimeLine类提供用于控制动画的时间表,通常用于定期调用插槽来为GUI控件创建动画。简单来说,就是可以通过 QTimeLine 来快速的实现动画效果,其原理就是在指定的时间内发出固定帧率的信号,通过连接该信号去改变目标控件的值,由于时间断帧率高,所以整体看起来就是连续的动画效果。 以上说得可能有些抽象,下面结合实例和用法步骤来看看。用法将使用步骤总结为以下几点:1.创...
2018-05-20 14:34:36 13668
原创 Qt 之QTemporaryFile用法(创建临时文件)
前言上一篇文章中介绍了如何使用QTemporaryDir 来创建临时目录 - Qt之QTemporaryDir用法(创建临时目录) 而今天要说的是如何创建一个临时文件,可以安全的写入,并且可以自动删除该文件,使用 Qt 自带的类QTemporaryFile,其实和QTemporaryDir类似,都是同样的用法。QTemporaryFile该QTemporaryFile类是一个临时文...
2018-05-19 08:40:04 8997 1
原创 Qt之QTemporaryDir用法(创建临时目录)
在 Qt 开发中,有时候会要创建一个临时目录,用于存储一些临时文件,在用完过后又要删除该目录,这个逻辑自己实现起来并不复杂,多写几行代码就搞定了,但是这里要说的是更简单的用法QTemporaryDir。
2018-05-18 07:39:05 4323
原创 Qt 之 QFileSystemWatcher用法(监控目录和文件变更)
概述QFileSystemWatcher类提供用于监控文件和目录进行修改的接口,通过观察指定路径的列表来监视文件系统对文件和目录的更改。调用addPath()来观察特定的文件或目录。可以使用addPaths()函数添加多个路径。可以使用removePath()和removePaths()函数删除现有路径。QFileSystemWatcher检查添加到它的每个路径。可以使用files()...
2018-05-17 07:58:37 14715 1
原创 Windows bat 脚本简单用法
前言在 Windows 平台下,有时候会通过脚本来做一些快速的批量的操作,不仅节省时间,使用起来还很方便。比如批量删除文件、杀死进程、查找进程等操作。这里简单的总结下之前用到的一些语法,内容不多,便于今后参考。正文创建 bat 脚本在 Windows 平台下,新建一个文本文档,然后将其后缀名改为 bat 即可,例如:test.bat,这样就创建好了一个脚本文件,添加内容后直接双击文...
2018-05-16 07:48:34 26135
原创 QML for Android 实现二维码扫描(QZXing)
前言由于项目要求,需要用 Qt 做一个Android 程序用于扫描二维码并获取扫码内容,之前参考了很多资料,很多都是基于桌面端的二维码识别,如一去丶二三里大神的Qt之二维码扫描,原理是直接导入一张二维码图片然后进行识别,而移动端会稍微麻烦一点点,并且关于 Qt 来做一个 Android 程序扫描二维码的资料太少,最终通过各种尝试,采用 QML+QZXing 的结合来实现该功能,这里做一个简单的...
2018-05-14 08:09:06 4921 24
原创 Qt QtConcurrent之 Run 函数用法
概述Concurrent是并发的意思,QtConcurrent是一个命名空间,提供了一些高级的 API,使得在编写多线程的时候,无需使用低级线程原语,如读写锁,等待条件或信号。使用QtConcurrent编写的程序会根据可用的处理器内核数自动调整使用的线程数。这意味着今后编写的应用程序将在未来部署在多核系统上时继续扩展。而这里要讲的是QtConcurrent::run函数的用法。 函数原...
2018-05-13 15:23:30 46650 8
转载 Qt之创建并使用共享库
简述在 Windows 中,有动态链接库(DLL - Dynamic Link Library);在 Linux 中,有共享库(Shared Library),它们是相同的!由于平台和编译器的差异,输出的库文件也不同:在 Windows 中,MinGW 将输出 .a 和 .dll;MSVC 将输出 .lib 和 .dll。在 Linux 中,MinGW 将输出 .so、.so.1...
2018-05-10 07:51:28 710
转载 C/C++ typedef用法详解
第一、四个用途用途一:定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如: char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针, // 和一个字符变量; 以下则可行: typedef char* PCHAR; // 一般用大写 PCHAR pa, pb; // 可行,同时声明了两个指向字符变量的指针 虽...
2018-05-10 07:04:38 291
转载 C++的拷贝构造函数、operator=运算符重载,深拷贝和浅拷贝、explicit关键字
1、在C++编码过程中,类的创建十分频繁。简单的功能,当然不用考虑太多,但是从进一步深刻理解C++的内涵,类的结构和用法,编写更好的代码的角度去考虑,我们就需要用到标题所提到的这些内容。最近,在看单例模式,觉得十分有趣,然而如果想要掌握单例模式,就必须掌握这些内容。下面是我的一些学习总结,参考了很多博客内容。文末将注明出处。2、先上代码// testSingleMode.cpp...
2018-05-09 08:01:23 328
转载 C++拷贝构造函数(深拷贝与浅拷贝)
对于普通类型的对象来说,它们之间的复制是很简单的,例如: int a=88; int b=a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。#include <iostream>using namespace std;class CExample {private: int a;public:...
2018-05-09 07:42:42 319
原创 Qt 断言的使用 Q_ASSERT
前言在写代码的时候,难免会调试程序,确保某一个语句或运算结果符合预期,如果不是的话就将程序暂停,便于修改,那么这时候就要用到一个Qt 中的调试神器—Q_ASSERT(断言)。 所谓的断言,其实很简单,它是一个宏定义,接受一个布尔值,当判断的语句为真时,不做任何操作,如果判断的语句为假,那么在 debug 模式下程序运行到该地方会自动断下,并弹出一个系统消息框,并且在程序输出栏会打印出断言的位...
2018-05-09 07:25:05 9803
转载 Android开发Service之BindService
前言一直使用 Qt 来进行桌面端和移动端开发,对 Android 开发并不熟悉,但是项目中往往又经常会用到 Android 原生开发的东西。本次收集了一些关于BindService相关的知识供自己学习和参考。正文bindService介绍一、bindService简介bindService是绑定Service服务,执行service服务中的逻辑流程。service通过C...
2018-05-05 14:36:14 992
转载 Qt程序单次启动(QSingleApplication类)
一介绍通过编写一个QSingleApplication类,来实现Qt程序的单例化,原文的作者是在Windows Vista +Qt4.4 下实现的,不过应用在其他平台上是没问题的。(本文是我在http://www.qtcentre.org/wiki/index.php?title=SingleApplication上看到的)二代码方案一:使用Qt中的QSharedMemory,QL...
2018-05-03 09:35:25 4114
QML实现文件十六进制显示Demo
2023-09-08
Qt QGraphics导入背景图并绘制图形,画布移动、缩放、图形旋转等
2023-06-30
QML模块及qmldir使用演示demo
2023-04-16
qml 类似移动端时间设置控件
2023-01-07
qtmqtt Qt6.2.4+VS2019 x64编译动态库及简单示例(附带Qt在线安装包+perl安装包)
2022-12-16
QML + KDDockWidget 实现 tabwidget 窗口可独立浮动和缩放
2022-12-05
Qt+opencv 鼠标绘制进行图形识别并进行item对象创建-Demo
2022-12-03
QML ListView实现TabBar标签拖拽移动位置效果
2022-11-25
QML 实现注册码输入控件,自动填入分隔符,粘贴内容格式化
2022-11-06
Qt实现桌面画线、标记,流畅绘制,支持鼠标和多点触控绘制
2022-10-26
Qt实现简易截图工具(支持缩放、移动、保存、复制到粘贴板)
2022-10-18
KDDockWidgets VS2019编译的动态库以及源码
2022-07-10
QFtp实现批量文件上传
2022-06-22
QML TableView Demo演示示例
2022-06-09
QtService 实现Qt后台服务程序
2022-06-07
Qt 反射机制实现,通过类名创建对象
2022-06-02
C++、C语言基础知识点强化,以及相关经典面试题、数据结构和算法知识及相关面试题汇总。
2022-05-24
Qt 实现钢笔画线效果,根据画线速度改变笔宽
2022-05-07
Qt 鼠标/触屏绘制平滑曲线(矢量/非矢量)
2022-05-06
Qt鼠标拖动绘制基本几何图形(直线、矩形、圆形、椭圆)
2022-05-06
KDDockWidgetTest.rar
2021-06-10
Qt Mqtt连接阿里云示例
2020-03-16
Qt MQTT简单示例Demo
2020-03-06
Qt 使用插件(Plugins)扩展应用程序简单示例Demo
2019-09-01
NSIS FindProc.dll+KillProcDLL.dll
2019-07-26
Qt Remote Object(QtRO)动态Replica实现进程间通信Demo
2019-06-15
Qt Remote Object(QtRO)进程间通信Demo
2019-06-12
Qt C++ 动态检测优盘插入或拔出
2019-03-28
C++工厂方法模式框架
2019-03-19
Qt C++发送图片到QML显示
2019-02-25
QML 中使用 C++定义的枚举类型
2019-01-06
QML ListView实现树形二级列表(类似 android ExpandableListView控件)
2018-08-11
Qt for Android 启动页 splash 延时显示
2018-08-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人