- 博客(81)
- 资源 (25)
- 收藏
- 关注
原创 链接器查找其他动态库的过程
这将输出所有的调试信息,包括搜索路径、库的加载、符号解析等详细信息。或者通starce去看动态库的加载错误。关闭用unset LD_DEBUG。
2024-09-24 11:46:39 112
原创 Qt实现自定义的文件对话框CustomFileDialog
文件对话框的代码结构目录如下:其中文件对话框主要由三个部分组成:主要是负责界面Ui。负责文件数据处理。主要是异步处理刷新文件数据。有需要源码的同学可以私聊我~
2024-09-24 11:42:40 533
原创 Qt中加载资源文件时候遇到的坑
在加载Qt Resource文件时候遇到的坑:添加动态库或者静态库中:1 . 如果想在静态库或者动态库目录下添加Qt资源文件,需要加Q_INIT_RESOURCE去初始化资源文件(如下图:)2.如果把资源文件全部写在生成可执行文件的目录的CMakeLists下面,则不需要加Q_INIT_RESOURCE(如下图:)文件中加载资源的路径问题:1.加载image资源的时候:注意: 文件加载的路径应该是资源前缀+文件名2.加载普通配置文件的时候:...
2022-05-12 14:41:50 1572 1
原创 Qt4 Linux下读写excel
背景最近项目中涉及到excel的读写,因为是在Linux上操作,而且是Qt4的版本,所以相对有些麻烦。之前我们用的是直接通过python去读写excel,把数据存储到中间文件。然后读中间文件进行操作,这次操作比较麻烦。就考虑其他办法。(开发环境:Centos 7.4, GCC:4.8.5 )Linux读写操作excel的库linux下读写excel文件的库了解到的分为以下几种:1. xlsLib 和 libxls(跨平台的C++读写excel)xlsLib是用来写excel, xlsL.
2021-11-16 14:16:06 4768 9
原创 Vscode 远程ssh服务器及远程图形显示
1.vscode下载插件Remote-SSH插件,保证vscode等远程登录服务器终端.2.windows端需要下载X11的软件,vcXsrv 或者xMing,傻瓜式安装,启动,现在Multiple windows, Display number 选中0.3.vscode点击左下角,输入open ssh configration file... 后面添加 ForwardX11 yes ForwardX11Trusted yes ForwardAgent yes保存。4.直...
2021-11-10 16:06:51 5144 2
原创 Centos 升级 CMake gcc 支持c++14以及上
1.CMake版本升级。https://cmake.org/files/v3.9/cmake-3.9.2.tar.gz
2021-06-18 09:31:10 2817
原创 Qt原子操作之QBasicAtomicInt和QBasicAtomicInt
Qt之原子操作 QBasicAtomicPointerQBasicAtomicInt原子操作:在多线程操作中,原子操作不会被线程调度机制打断。这种操作一旦开始就一直运行到结束,中间不会有上下文切换。Qt为我们提提供了原子指针模板类,以及原子计数。我们分解介绍这两个类QBasicAtomicPointer不多说上源码template <typename T>class QBasicAtomicPointer{public:#ifdef QT_ARCH_PARISC..
2021-04-23 17:21:21 4522
原创 界面设置基础之复选框和单选按钮
界面设置基础之复选框和单选按钮在我们常用的开关按钮中复选框(CheckBox)和单选按钮(RadioButton)是我们经常会选择使用。实现图片如下:1.单选按钮单选按钮是一种多选一的设置,当下面两个条件成立时,使用单选按钮最合适。- 可选项是固定的,总可选项最好小于5个。- 界面有足够的空间去显示所有选项。单选按钮总是成组出现,一个单选按钮不是一个有效控件。2.复选框复选框可以表示单个开关设置,它可以成组出现,但是每个复选框之间互不影响,相互独立。使用场景.
2021-04-08 22:56:25 2900
原创 界面设计基础之基本窗口
界面设计之基本窗口在界面设计中我们常常要用到窗口,如果说对话框,消息框,应用窗口,那么我们该在什么场景下分别正确的去使用这些窗口呢?接下来我们就介绍这些窗口的特性以及使用场景。基本窗口基本窗口用来表示软件的应用程序或者用户特定的数据对象(或者代表软件的一个特定的功能模块)。基本窗口一般能显示较长时间。基本特性:能最小化成一个桌面图标或任务按钮能显示很长时间一般是无模式的(非模态不影响其他窗口)可以有工具栏,菜单栏以及自定义按钮表示一个特定的功能或者子模块...
2021-04-08 22:22:45 723
原创 界面基础设计之菜单栏
界面设计规则--------菜单栏大部分的GUI应用程序都会提供一个菜单栏,他包含了应用程序的大部分或者全部的命令,把这些命令分类组织。如File(文件),Edit(编辑), View(视图), Tools(工具)。。。。。。window和大多数基于Unix的窗口,菜单栏都位于主窗口的顶部。菜单栏如下图所示:...
2021-04-01 00:11:13 1729
原创 Qt实现反射机制
Qt反射机制的实现Jave C#自带的反射机制极大的方便了开发者,同时也有利的增加了程序的灵活度。开发者可以把类注册到程序中,然后通过配置文件自动生成类,掉用类的相关函数。那么C++不支持反射,我们可不可以自己构造呢?答案是当然。如何通过字符串生成类呢:思路如下把类的构造函数和字符串绑定到map/hashmap中,创建对象的时候通过hash表映射,得到类的构造函数,直接生成对象。不多说,直接上代码。核心代码class ObjectFactory{public: tem.
2021-03-30 22:57:50 1716
原创 Python掉用Qt/C++接口
Python掉用C++接口最近有这么一个需求,需要用Python对开发的应用做二次开发。这可难坏我了,之前也没有相关的经验,网上的资料也比较少。后来深度思考了下,这个问题本质上就是用python调用C++的接口。只要把C++的管理接口封装好,暴露给python,就可以达到我的需求了。所以,问题就聚焦到了如何用C++调用python 即是我们今天的主题。C++调用python的思路现在Python也有很多版本,底层语言也有jave实现的,也有C实现的,但是为我们大众用得比较多的还是CPyth.
2021-03-25 22:27:20 663
原创 算法系列之快速排序
快速排序没啥好说的,算法入门必看。快排时间复杂度nlogn。代码void ::quickSort(int left, int right, std::vector<int>& data){ if(left >= right) { return; } int i = left; int j = right; int ref = data[left]; while(i < j) ...
2021-03-24 21:29:38 117
原创 2021-01-22
值得学习的C语言开源项目- 1. WebbenchWebbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。下载链接:http://home.tiscali.cz/~cz210552/webbench.html- 2. Tinyhttpdtinyhttpd是一个超轻量型Htt
2021-01-22 19:51:12 614
原创 滑动界面之slidingSatckWidget
stack滑动窗口界面 窗口滑动界面相对于普通的stackWidget窗口管理多了一些动画效果,可以让界面看起来更加酷炫,如图;滑动窗口的原理&emsp滑动stackwidget的本质就是采用动画效果修饰widget的pos属性,同时移动前后的两个widget的位置,等动画完成之后,最后隐藏前一个widget。整个滑动的效果就达到啦。核心代码如下:void SlidingSta...
2019-12-24 16:15:55 430
原创 QT的事件模型
关于QT事件机制的学习总结 Qt的核心在于QT的事件驱动机制。而整个事件的机制无非三个部分,事件的产生,事件的处理,事件的分发。(只有继承QOBject的类才能接收和使用事件。事件的产生 事件分为操作系统事件和应用内部事件,例如鼠标,键盘。。等属于由操作系统产生,外部输入事件,应用内部产生的事件有resize,paint等, 还有一种是自己子类化QEvent定义的事件。也属于内部事件。...
2019-12-09 15:34:25 378
原创 QPostEvent的源码解读
###Qt中的postEvent过程解析用法 app->postEvent(QObject , QEvent);####1.传递给QCoreApplication的postEvent(QObject , QEvent, int NormalEventPriority);postEvent()```void postEvent(QObject *receiver, QEvent*e...
2019-12-05 10:32:40 1722
原创 QT自定义Layout畸形布局
关于QT的自定义布局自定义的布局形状如下[外链图片转存失败(img-faixCPYI-1567399885458)(https://i.imgur.com/6OLPhkl.gif)]简介 以前觉得自定义布局很难,但是亲手写了一下发现也很简单。就是继承子类化Layout。实现几个虚函数,然后再setGeometry()这个函数中计算各个子item的位置从而实现布局效果就好了。实现 ...
2019-09-02 12:52:09 1213 1
转载 C++11的新特性
1. nullptrnullptr 出现的目的是为了替代 NULL。在某种意义上来说,传统 C++ 会把 NULL、0 视为同一种东西,这取决于编译器如何定义 NULL,有些编译器会将 NULL 定义为 ((void*)0),有些则会直接将其定义为 0。C++ 不允许直接将 void * 隐式转换到其他类型,但如果 NULL 被定义为 ((void*)0),那么当编译char *ch ...
2019-07-10 10:15:36 256
原创 仿照word的界面的滑动菜单(2)(伸缩下拉框)
这里要做两个处理:1.widget的上浮和下层 2.widget的伸缩动画。上浮和下层可以通过设置widget的属性来控制: if(isfloating) { m_is_floating = true; setWindowFlags(Qt::FramelessWindowHint | Qt::ToolTip); } e...
2019-06-04 10:18:08 838
原创 QT仿照Word的滑动菜单以及菜单下拉框(1)(滑动导航条)
仿照work的界面的滑动菜单(1)先上图:这个功能的实现包括两个重要的部分,第一个是菜单条的文字下面的滑动伸缩线。第二个是菜单下拉框的动画效果,以及下拉框的上浮,下沉的效果。MenuBar.h#ifndef MENU_BAR_H#define MENU_BAR_H#include <QWidget>#include <QPaintEvent>#in...
2019-06-04 09:40:59 2862
原创 Log4Qt使用相关使用
简介 前一段时间用过log4Qt,只是零零散散的使用了。没有仔细的深究。抱着能用就行的心态终于遇到坑了。在网上也没有系统的介绍Log4Qt的文章。现在系统介绍下。希望对自己和别人有所帮助。log4Qt是根据Apache的log4j修改过来的,所有里面用的时候也会有jave的影子。需要详细的学习的同学可以搜说log4j的资料。因为log4Qt的资料太少太少了。log...
2019-05-07 00:38:05 1074
原创 QT布局之QSplitter
最近研究了QSplitier的类,发现它做布局的效果很好。不多说,先上图:关于QSpliter,它可以通过insertWidget() 和addWidget()添加小部件到它的布局中去,并且可以通过拖动来改变这些小部件的大小。通过setSize可以设置所有小部件的大小。非常方便。下面就是源码, 有兴趣的同学可以研究下,如果有什么不对的地方请与我联系。splitter.h#ifndef...
2019-04-12 21:18:27 1494
原创 C++前置声明
写代码的时候,代码规范通常会要求头文件尽量使用声明,规范如:为什么要使用前置声明,而不直接使用头文件呢? 难道头文件中使用声明能够是编译的速度加快? 但是编译器在预处理的时候也会将头文件加载到cc文件里面,那这样声明就起不到作用了。其实原因很简单。就是为了方便a.h 和 b.h能够相互调用。a.h 中只加b类的声明。 a.cc 中添加b.h的头文件。同时b.h若想调用a类的时候直...
2019-03-28 10:05:07 212
转载 C++常用的设计模式(超级简洁,清晰)
1、工厂模式:简单工厂模式、工厂方法模式、抽象工厂模式 1)、简单工厂模式:主要特点是需要在工厂类中做判断,从而创造相应的产品,当增加新产品时,需要修改工厂类。typedef enum{ T80 = 1, T99}TankType;class Tank {public: virtual void message() = 0;}...
2019-03-26 10:18:46 1119
原创 QT自定义之滑动开关
写了一个简单的滑动开关, 不多说,上图:代码如下:#ifndef SLIDERBUTTON_H#define SLIDERBUTTON_H#include <QWidget>#include <QMouseEvent>#include <QPaintEvent>#include <QPainter>#include &l...
2019-03-06 19:12:44 1831 1
原创 QT的TableView之自定义Delegate委托
1.介绍 在使用Table时,我们希望可以对table做更好的个性化处理。例如需要美化表格,在表格中添加控件等等。这时候就要用到Delegate了。说白了,Delegate就在在数据和界面之间增加了一层渲染,处理的功能。2.QStyledItemDelegate QT提供了两个基类QStyleDelegate 和QStyledItemDelegate为我们提供自定义...
2018-12-29 09:46:07 5432
原创 QT的TableView之自定义Model
1.介绍 QT在QT4的时候推出了Model-view视图结构,这种结构更好的将软件中数据和UI分层处理,从而达到提升显示效果。QT中其实已经自带一些基本功能的model,如下:以上的Model可以满足一般的基本需求,使用起来方便简单。比如QStandardItemModel既可以满足一般的Table的结构,也可以满足树状的结构。但是自带缺点是使用起来不够灵活,对数据的操...
2018-12-27 15:08:38 4845
转载 C++ /Qt 基础资料
简述Qt 官网Qt 官网:https://www.qt.ioQt 下载:http://www.qt.io/downloadQt 所有下载:http://download.qt.io/archive/qtQt 官方发布下载:http://download.qt.io/official_releases/qtOpen Source 下载:http://www.qt.io/downloa...
2018-12-17 12:52:49 577
转载 从零实现一个http服务器
我始终觉得,天生的出身很重要,但后天的努力更加重要,所以如今的很多“科班”往往不如后天努力的“非科班”。所以,我们需要重新给“专业”和“专家”下一个定义:所谓专业,就是别人搞你不搞,这就是你的“专业”;你和别人同时搞,你比别人搞的好,就是“专家”。说到http协议和http请求,很多人都知道,但是他们真的“知道”吗?我面试过很多求职者,一说到http协议,他们能滔滔不绝,然后我问他http协议的...
2018-12-16 23:14:59 723
转载 C++写的12306抢票软件
写在前面的话每年逢年过节,一票难求读者肯定不陌生。这篇文章,我们带领读者从零实现一款12306刷票软件,其核心原理还是通过发送http请求模拟登录12306网站的购票的过程,最后买到票。郑重申明一下:这里介绍的技术仅供用于学习,不可用于恶意攻击12306服务器,请勿滥用本文介绍的技术。对12306服务器造成的任何损失,后果自负。当然,由于12306服务器用户量巨大,为了防止黄牛和其他一些非法...
2018-12-16 22:57:18 10966 6
转载 QT项目性能优化
QT项目性能调优小记最近的项目用到了QT 5.5,项目在运行过程中出现了一段时间CPU占用率持续25%,并频繁断网的情况,遂决定对项目性能进行优化。优化工具也是VS2010自带的性能分析工具,具体的使用方法参见:http://www.cnblogs.com/smark/archive/2011/10/12/2208039.html其中可以选择“just my code”过滤出自己编写的...
2018-11-28 15:59:28 3993 2
转载 关于QDockWidget在QMainWindows下的初始化大小的设置
最近使用QDockWidget时遇到了QDockWidget的初始化大小的设置的问题。于是就研究了一番。在网上看到有人用setFixsize固定QDockWidget的大小,但是这样就无法调整DockWidget的大小了。QDockwidget的大小是根据widge里面所放控件的大小决定的,只要设置好里面控件的大小就OK了;用setHinit(QSize)这个函数...
2018-11-20 14:11:57 1701
转载 Qimage像素级操作
这篇文章主要阐述了如何使用Qt在像素级别上对图像进行操作,并实现了一些图像效果,这些效果主要有:灰度,模糊,锐化,添加相框,金属质感,改变图像饱和度,亮度还有白平衡。scanLine 返回某一行数据,转换为QRgb指针可进行直接有效的像素存取操作。介绍文章中,我们将讨论在Qt中修改图像的一些技术和算法,在这之前,你必须知道在Qt中操作图像的一些方法。.在Qt中有两种表示图像的类,Q...
2018-11-14 12:28:28 3052
原创 电脑安装Win10 + Linux 双系统
很多入门的小伙伴都想体验一把LInux的快感,但是windows上面的数据又删除不得,无奈只好放弃。小编通过网上的一些教程,稍微了整理了一下win10和linux双系统的安装教程。注意事项:请先拉至底部,选择投票,然后观看,谢谢=~_~=工具/原料 笔记本电脑lenovoG480 win10 linux ubuntu17.xxxx Ultraiso ...
2018-11-14 09:36:47 4555
转载 Ubuntu下安装QT 4.8.6
一、Qt简介 Qt是1991年奇趣科技开发的一个跨平台的C++图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所有功能。Qt很容易扩展,并且允许真正地组件编程。 准备工作 操作系统:Ubuntu17.06位数:64位二、安装 1、获取源码Qt4.8.6 http://download.qt.io/official_releases/qt/4.8/...
2018-11-14 09:20:59 3507
转载 VIM的配置文件资料
花了很长时间整理的,感觉用起来很方便,共享一下。我的vim配置主要有以下优点:1.按F5可以直接编译并执行C、C++、java代码以及执行shell脚本,按“F8”可进行C、C++代码的调试2.自动插入文件头 ,新建C、C++源文件时自动插入表头:包括文件名、作者、联系方式、建立时间等,读者可根据需求自行更改3.映射“Ctrl + A”为全选并复制快捷键,方便复制代码4.按“F...
2018-11-12 11:29:48 195
QT_GoogleMap
2018-03-03
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人