- 博客(28)
- 资源 (47)
- 收藏
- 关注
原创 OSG在QT的中显示之一
之前写过关于OSG的一些文章,主要是以基础为主,但是结合QT来显示还没有写过。OSG和QT结合显示有单独的类:GraphicsWindowQt。如果编译过程中没有把这个类编译成库文件,可以直接在源码中拷贝出来,把头文件和cpp文件修改一下文件名就可以了,然后把修改好的.h和.cpp加入到工程中。环境:VS2015+QT5.10+64位+OSG3.5.1把环境设置好,头文件目录、链接文件目录...
2019-01-30 00:41:13 3306 9
原创 软件插件更新
作为一个上线的软件产品,后期会根据需求的变动进一步的修改功能,有时也会修改一下现有版本的BUG,修改完成之后,会更新到现有的软件中。软件更新的方式一般有“推”和“拉”两种方式。“推”就是软件一旦有了新的版本需要更新,服务器会给每个客户端推送一个消息,告诉每个客户端需要及时更新版本,客户端会根据现在是的实际情况来更新软件;“拉”就是客户端会在一定的时机(开机启动时、点击客户端的某个按钮等)主动的检...
2019-01-29 09:10:32 551
原创 QT文件选择对话框
window操作系统中,通常会出现文件选择对话框,也就是选择一个文件,那么QT中也有类似的文件选择集成类。 //定义文件对话框类 QFileDialog *fileDialog = new QFileDialog(this); //定义文件对话框标题 fileDialog->setWindowTitle(QStringLiteral("选中文件")); //设置默认文件路径 fi...
2019-01-26 22:01:07 17365
原创 批处理小记三
继续学习批处理命令:md:创建文件夹. md F:\aaa 在F盘下面新建文件夹copy:移动文件. copy runtime.txt F:\aaa:把当前目录下面的runtime.txt 复制到 F:\aaa文件夹下面。如果没有这个文件夹则会把aaa当成目标文件。也就是说复制过程中如果没有aaa这个文件夹,那么复制的目标文件名就是aaadel:删除单个文件. del F:\aaa...
2019-01-25 22:22:26 196
原创 从MySql把表格完整的导入Oracle数据库中(包括注释、触发器等)
之前的时候通过插件的形式,通过Oracle数据库的SQL Developer连接MYSQL数据库并且把mysql数据导入到oracle数据库中,这种方法导入的表格不仅会丢失字段注释还会丢失触发器等数据,并且在导入数据量特别大的表格时会出现内存溢出的错误,从而导出数据导出失败。下面是采用新的方法把mysql数据导入到oracle中,基本原理:首先在SQL Developer中连接MYSQL具...
2019-01-24 20:36:41 732
原创 QCustomPlot的使用之二
之前介绍过基于QT的绘图控件QCustomPlot的强大功能,详见我之前的文章Qt中关于绘图表QCustomPlot的使用。今天突然翻出来,熟悉了一下,顺便写了个Demo作为记录。1.新建一个类,继承自QCustomPlot:#pragma once#include "QCustomPlot.h"class User2QCustomPlot : public QCustomPlot ...
2019-01-23 22:25:39 1915 4
原创 QT线程之“旁门左道”之二:多个QRunable运行结束检测
上一篇文章中提到在QT中使用线程类QThread,但是QT中还有一个同样可以实现多线程那就是QRunable,这个QT提供的轻量级的线程处理机制,关于QRunable的使用可以详见我这篇文章Qt 线程池的使用以及和主线程的消息同步。QRunable可以通过线程池来控制,QThreadPool线程池是一个全局的单例模式,使用也是比较方便的,但是如何检测同时运行的QRunable线程结束了呢?有的同...
2019-01-22 10:57:41 1289 7
原创 QT线程之“旁门左道”之一
在QT中有自己的线程处理机制,大家都知道在处理大量的数据的时候,一般会单独的开启一个线程来处理,这样做的好处有两个方面:一个是提高数据处理运行的速度;另外一个就是在线程中处理数据,不会影响主线程的运行。如果在主线程中来加载大量的数据,主线程就会“卡住”,出现程序假死的情况,非常影响用户的使用体验。一、通过QThread运行线程QThread这个类是QT提供的单独来运行线程的类,只要子类继承并且...
2019-01-21 21:50:36 331
原创 批处理小记二
title:设置DOS界面的标题;. title 批处理界面color:设置界面字体的颜色;. 比较符号:. EQU:等于EQU - 等于. NEQ:不等于. LSS:小于. LEQ :小于或等于. GTR : 大于. GEQ : 大于或等于.:start.set /a var+=2. echo %var%. if %var% LSS 12 goto start运...
2019-01-20 21:26:21 153
原创 批处理小记
打算做一个批处理来解决程序编译和安装的问题,首先学习了一下批出理,批处理程序就是一堆命令的罗列,然后根据先后顺序来执行rem:相当于C语言中的注释;echo:主要用来显示信息,后面跟着参数:off 表示不会显示命令只会执行结果;on表示在批处理中会打印出显示命令;goto:类似于C语言中的goto语句,要和标签一起使用;@echo off:labeldir C:\goto labe...
2019-01-19 20:27:32 156
原创 我所知道的加密和解密
上一篇文章中提到个人的隐私信息一旦被泄露后果还是比较严重的,所有涉及到重要的数据一定要加密,使用的时候再解密就可以了,但是大家都知道重要的数据需要加密,到底什么加密?怎么样加密才能保证安全呢?加密的原理是什么?之前的加密通常是通过一些简单的算法,比如说移位、加减乘除等,这样的算法本身难度不大,很容易多搜集一些密文就可以了,加以统计分析就可以了。一旦密码被破译掉,那么以后所发的所有密文都会相当于...
2019-01-18 23:02:58 858
原创 我对“大数据”一些看法
最近几年一直很火的“大数据”这个概念,相信很多人都不陌生。所谓的“大数据”其实是包含两个方面,一个是数据,另一个就是大。在大数据这个概念出来之前的数据指的是实验数据、统计数据等,就是一个数字的形式表现出来;也可能是信息和情报等;作为程序员提到数据更多指的是数据库中的数据。数据量在没有出现大容量的存储空间和自动化的处理计算机之前是很小的。纸质的表格文件,既不容易记录整理也不容易存储,在整理和归类...
2019-01-17 21:59:40 7874 1
原创 C++静态成员变量
C++中的静态成员是比较特殊的存在,关于静态成员 有以下几点需要大家注意:1.静态成员变量:静态成员变量不依赖于任何类对象;静态成员变量可以被任何对象调用;静态成员变量可以被静态成员函数调用;静态成员变量可以被非静态成员函数调用;公有属性的静态成员变量可以通过类名来访问;静态成员变量需要初始化;2.静态成员函数:公有属性静态成员函数可以通过类名来访问;任何对象都可以访问静...
2019-01-16 22:30:41 1286
原创 Log4cpp的使用
上一篇文章介绍如何编译Log4cpp,现在介绍一下如何使用它。Log4cpp有三个主要的组件:日志类别(Category)、输出源(Appender)和布局(Layout)。日志类别(Category):如果配置文件中设置日志的级别是DEBUG,则任意的log都能打印出来,因为DEBUG是最低的级别;但如果配置的级别是ERROR,则只有高于ERROR优先级的日志才可以打印出来。优先级:D...
2019-01-16 21:53:22 427
原创 日志记录库Log4cpp编译
在一个软件系统中少不了有一些日志记录功能,这些主要是记录软件在运行过程中的一些信息,比如启动信息、错误信息以及其他需要被记录的日志信息等。C++开源的日志记录库有不少,Log4cpp就是其中比较优秀的代表。1.Log4cpp下载地址:Log4cpp下载地址2.下载完成后,解压后:3.打开msvc10,通过VS2015打开msvc10.sln:4.编译第一个项目,第一个项目就是需要生成...
2019-01-15 22:33:48 821
原创 QT多继承出现的问题 - 使用dynamic_cast来转换
定义了一个接口,功能是用来实现添加界面控件。1.首先看接口:#pragma onceclass IAddUserWnd {public: IAddUserWnd(); ~IAddUserWnd(); virtual void addUserWnd(void* subWnd) = 0;};#include "IAddUserWnd.h"IAddUserWnd::IAddUs...
2019-01-14 22:56:46 5259
原创 人工神经网络浅谈
最近看了一些关于人工神经网路的文章,对人工神经网络有了一点浅显的认识,现在写出来和大家共同探讨一下。刚开始接触这个名词的时候就被吓到了,我本身在上学的时候,生物这门课程就学的不好,人脑和神经又是人体中最复杂的结构。那么当时就认为人工神经网络同样也是很复杂的了。周围没有同事或者同学在做这方面的研究,抱着随便看看的态度,在网上和书上看了一些这方面的文章,对神经网络就有了一知半解。人工神经网络听起...
2019-01-14 07:49:40 1151 5
原创 软件设计中的顺序图
C++程序开发过程中,程序的入口一般是main函数也是主函数,然后才会在main函数中调用其他的类对象使程序运行起来。一个软件程序一般是由很多类对象组合而成的,程序运行过程中对象之间要相互通信,也就是互相调用,互相配合才能很好的使整个程序软件运行起来。在软件开发领域描述类与类之间的关系的是UML类图,类与类之间的关系请看我的文章C++类与类之间的关系,文章里面讲了6中常见类与类之间的关系。但...
2019-01-12 22:21:36 2269
原创 QT读取并且显示SVG图片
SVG图片是一种可缩放的矢量图片,是一个开放的图片标准。是由xml格式定义一种文件。svg图片文件具有以下优势:基于xml语言可在图像质量不下降的情况下被放大比JPEG和PNG格式的文件要小很多支持DOMQT中有专门读取svg图片的类,下面演示以下通过QT读取svg图片并且显示在QTableWidget控件上。void QtGuiSvg::slotLoadSvg() { QSt...
2019-01-11 22:34:00 19564 3
原创 QT利用DLL实现插件化开发
作为项目开发经理,给大家安排工作的时候,希望每个人开发的功能模块之间的耦合越小越好,最好不要出现以下场景:A等B提供的接口,C等B提供的业务模块。一旦出现这样的场景也就是预示着整个项目出现停顿或进度缓慢的情况。这时插件化开发就能很好的解决这样的问题。每个人都是单独的开发自己的业务功能模块,尽量少的依赖于别人提供的功能,等大家完成了,把每个人开发的功能组合到一起程序就能很好的在一起工作了。以上是...
2019-01-10 21:57:40 6722 13
原创 QT动态加载DLL包括加载DLL中的类及其成员函数
QT中加载DLL的方式有两种:一种是静态方式的加载,需要有两个文件:lib文件和dll文件。lib文件就是导入库,里面定义了一些函数符号,在调用的时候会直接查找这些函数符号,然后根据这些函数符号,找到DLL对应的模块加载进来进行调用。另一种就是动态调用。在使用的时候才会加载dll进来,使用QT本身自己的加载机制,利用QLibrary进行动态加载。静态加载的方式比较常用,下面介绍一下动态加载的...
2019-01-09 22:04:55 16458 1
原创 Qt中QSettings的简单实用
QT中提供了可持久化的文件保存机制,利用QSettings可以把内存中的数据保存到地电脑的磁盘中。QSettings可以保存的格式有几种:QSettings::NativeFormatQSettings::Registry32FormatQSettings::Registry64FormatQSettings::IniFormat //今天重点说的ini配置文件QSettings::I...
2019-01-07 21:46:03 4098
原创 机器学习之新闻分类
大家常看的新闻类APP如今日头条、UC头条等,只要是打开以后,各种新闻就已经分好类了,可以根据自己的喜好查看相应的新闻内容。社会新闻、娱乐、电影等各种各样的分类。这些新闻一般来源于不是一个网站,而是来自于多个的网站,然后把这些新闻通过一定的方法分成不同类别供大家查看。如果是后台有工作人员进行人工的分类,根据现在新闻的更新速度,要需要多少这样的工作人员,需要多么专业与敬业的工作人员!显然网页上...
2019-01-05 21:05:57 3622
原创 Qt5.10利用OCI读取Oracle数据库
QT支持多种数据库的读写,因为本身安装包中就有数据库驱动,但是没有现成的oracle数据库读写的驱动需要手动编译才可以。有已经编译好的64位的oci驱动dll。1.下载驱动QT64位Oracle读写DLL下载把下载好的驱动dll放到QT数据库驱动文件夹下面:C:\Qt\Qt5.10.0\5.10.0\msvc2015_64\plugins\sqldrivers2.操作数据库1.调用静态...
2019-01-05 19:49:32 1575 1
原创 Oracle数据库连接MySQL数据库,并且导入mysql表
以前一直在使用MYSQL数据库,最近由于工作原因改用Oracle数据库,版本12c。虽然改用了oracle但是原来mysql数据库中的数据还是需要继续使用,这就需要把mysql中的数据导入到oracle中。1.Oracle连接MYSQL数据库1>. 假设你的电脑中已经安装了oracle数据库的客户端,还需要一个第三方的驱动mysql-connector-java-5.0.4来连接mys...
2019-01-04 21:17:57 7244 1
原创 对人工智能和机器学习的一点理解
最近很是火热的人工智能、机器学习,作为一个从事软件开发的人员来说,不能不关注一下。信息是通过语言文字来传递的,文字作为信息的载体,组合又是变化无穷的。再加上表达的各种语气,同一句话被不同的人说出来表达的意思也是不一样的。语言文字的传递就是信息的编码和解码的过程,陈述者首先把信息通过编码变成语音或者文字,再通过媒介(空气、书籍等)传递出去,接受者在需要解码才能理解其中的意思。那么作为机器有没有...
2019-01-03 22:16:22 819
原创 Qt中使用QDockWidget实现类似VS界面布局
在常用的编程工具中,VS是以其功能强大深受大家的喜爱,下面通过QT实现类似于VS界面的界面,可以拖动和调整。先看一下效果图:主要是利用以下两个函数:void QMainWindow::splitDockWidget(QDockWidget * first, QDockWidget * second, Qt::Orientation orientation);此函数的功能是把两个dock...
2019-01-02 22:02:00 7836 5
原创 设计模式总结-C++
到现在为止基本上已经把所有的设计模式都重新整理了一遍,也把常用的设计模式重点分析了一遍。希望对看做的读者有所帮助。设计模式定义了可复用的程序架构,这些模式都是在前人经验的基础上总结而来的,是在实际项目中验证过的一套完整的设计。很多同学觉得设计模式没有什么,或者只知道其中很少的一部分设计模式。其实所有的设计模式都是很值得每一位程序设计和开发人员认真去学习和研究的,重点是要理解里面的设计思想和设计...
2019-01-02 19:20:20 700
ICEGUI.rar
2020-08-03
QtGuiProductConsume.zip
2021-10-10
QtInterface.zip
2021-09-18
TimePlan.zip
2021-04-16
Tetris.zip
2021-02-06
IceServerClient.rar
2020-11-18
build_step_self.rar
2020-09-24
MoveChildWgt.rar
2020-09-22
IceApplication.rar
2020-07-27
Thread.zip
2020-07-21
GraphTraversal.zip
2020-01-14
QtGuiMaze.zip
2020-01-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人