QML两种启动方式及打开新窗口 前言这是我的第一篇QML的笔记,记录一个最大的坑,每次修改了qml文件之后,重新清理一下,再编译,不然新的效果无法实现,误以为代码问题。qml程序启动有两种方式 1、QQmlApplicationEngine123456789QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);QGuiApplication app(argc, a 2019-04-24 QML学习笔记 #QML启动方式
Qt线程池执行事件循环 Qt的线程池有一个专门的类QThreadPool,内置全局单例,它可以设置最大线程数,假设线程池添加了10个任务,设置最大线程数为3,那么这10个任务就会排队等待3个线程处理。QRunnable是线程池运行的基本工作类,它是一个虚基类,需要用户继承然后重写run(),线程实际运行的就是run()函数里面的代码。这个类不继承QObject,所以直接继承无法使用信号槽。于是采用多继承,先继承QObje 2019-04-18 Qt学习笔记 #线程池 #事件循环
QSqlDatabase使用注意事项 多线程QSqldatabase::addDatabase(“connectionname”)创建的数据库连接对象,只能在同一个线程中使用,但是一旦按照某个连接名创建了连接,那么按照QSqldatabase::database(“connectionname”)获取的连接实例可以跨线程使用,但是注意跨线程时不同线程同时使用一个连接名创建的连接,则会引起资源竞争,导致意外的错误,具体的错误为:2006 2019-04-17 Qt学习笔记 #QSqlDatabase
centos7安装docker 前提docker运行要求 centos 7 (64-bit) centos 6.5(64-bit)或更高版本 内核要求高于3.10,使用如下命令查看 1uname -r 安装dockerdocker分为社区版(ce)和企业按(ee),安装之前先卸载旧版本 1sudo yum remove docker* 安装必要的系统工具1sudo yum install -y yum-utils devic 2019-04-16 学习笔记 #centos7 #docker安装
Linux常用命令 1、查找进程1ps aux | grep nginx grep是过滤,其他命令里面的同理。 2、查看网络端口占用1netstat -anp | grep 80 3、查看进程占用cpu和内存1top -p 进程号 4、挂载u盘或共享文件夹 挂载共享文件夹 123mkdir dir /home/username/SharedFloder #linux上的共享文件夹sudo chmod 777 / 2019-04-16 学习笔记 #Linux命令
Git使用教程 一、前言1、简介git仓库每个节点都是一个独立的版本管理节点,当不需要和其他节点同步时,可以在本地仓库独立开发。而当需要和其他节点同步信息时即多人协作开发,就需要一个中心仓库(Github、Gitee、Gitlab等),合并其他节点的提交,另外的节点再去中心仓库拉取自己需要的其他节点的提交,简而言之,git是一个分布式版本管理系统。 2、名词解释 工作区( Working Directory) 工 2019-04-08 Git教程 #Git
MYSQL创建外键 今天将sqlite的表迁移到mysql中,有一张表的存在外键。外键约束的成立条件首先就是子表(定义外键的表)的引用的父表的那一列有唯一性约束,也就是UNIQUE,当一列是主键(PRIMARY KEY )他已经是默认的唯一性,所以可以不用考虑这个问题。另外还需要注意的问题如下: 找不到父表中引用的列 主键和外键的字符编码不一致 外键字段与要做外键校验的字段类型不匹配 MySQL支持外键约束 2019-04-02 数据库 #MYSQL #外键
编译mingw64版本QGis3.4.6 msys2环境搭建 autoconf automake libtool make clean 和make distclean mingw的mingw32-make 和msys/make 避免出现处理makefile脚本出现 2019-03-27 学习笔记 #QGIS #MINGW #MSYS
QTcpClient/QTcpServer示例 前言:Qt的tcp模块基于事件驱动已经比较成熟,但是QTcpScoket的状态检测有一些bug,无法检测到非正常掉线的情况,例如网线拔掉,此时状态仍然是连接,会导致不确定的逻辑错误。所以我们采用心跳包来避免这个问题,心跳包机制:客户端定时发送给服务器,然后服务器返回消息的包,超出心跳限制则判断断开了连接。网络传输数据有时候数据可能很大,所以我们需要序列化数据,然后传输,这样减少数据的大小。只需要两 2019-03-25 Qt学习笔记 #QTcpSocket #QTcpServer #心跳包 #序列化
QThread模板 由于某些特殊原因,我们有时候使用线程需要QThread(信号-槽机制)。但是QThread需要继承它然后重写run函数,假如我们需要在线程中干100件事,那么就需要写100个QThread的子类,然后单独实现run函数,这样过于复杂。为此我想到使用std::function<>和模板来减少代码,写一个通用的模板线程。代码如下: 12345678910111213141516171819 2019-03-22 Qt学习笔记 #QThread #模板 #可变长参数