- 博客(130)
- 资源 (15)
- 收藏
- 关注
原创 matlab2cpp
简述github上下载matlab2cpp文件安装后,可以将matlab 的.m文件转成cppwindows安装Python setup.py install文件转换m2cpp example.m安装包下载:https://github.com/jonathf/matlab2cpp
2021-04-21 19:53:17
339
1
原创 C++回调函数概念
C++回调函数(callback)的使用什么是回调函数(callback)模块A有一个函数foo,它向模块B传递foo的地址,然后在B里面发生某种事件(event)时,通过从A里面传递过来的foo的地址调用foo,通知A发生了什么事情,让A作出相应反应。 那么我们就把foo称为回调函数。其实回调就是一种利用函数指针进行函数调用的过程.为什么要用回调呢?比如我要写一个子模块给你用, 来接收远程socket发来的命令.当我接收到命令后, 需要调用你的主模块的函数, 来进行相应的处理.但是我不知道你要用哪
2021-03-30 20:59:05
191
原创 c++ 面试题2
1、2、下列代码的输出是?(注:print已经声明过)main(){ char str[]="Geneius"; print (str);} print(char *s){ if(*s){ print(++s); printf("%c",*s); // suiene}}printf (\0) 应该输出空格;3、把一个字符串倒序,如“abcd”倒序后变为“dcba”。int main() { char *s
2021-03-29 21:46:14
332
原创 c++知识点文章
目录C++类中的静态成员变量和静态成员函数的作用C++类中的静态成员变量和静态成员函数的作用https://blog.youkuaiyun.com/u011391093/article/details/43309307
2021-03-27 22:42:03
151
原创 C++ 友元函数
概述类的友元函数是定义在类外部,但有权访问类的所有私有(private)成员和保护(protected)成员。尽管友元函数的原型有在类的定义中出现过,但是友元函数并不是成员函数。友元可以是一个函数,该函数被称为友元函数;友元也可以是一个类,该类被称为友元类,在这种情况下,整个类及其所有成员都是友元。如果要声明函数为一个类的友元,需要在类定义中该函数原型前使用关键字 friend,如下所示:#include <iostream>using namespace std;class B
2021-03-27 21:33:48
177
原创 c++ 强制类型转换
1.static_cast:用于非多态类型转换(静态转换),任何标准转换都可以用它,但是不能用于两个不相关的类型转换。2.reinterpret_cast:将一种类型转换为另一种不同的类型。3.const_cast:删除变量const的属性,方便赋值4.dynamic_cast:用于将一个父类对象的指针转换为子类对象的指针或引用。(动态交换)static_cast int i = 10; double b = static_cast<double>(i); cout <<
2021-03-24 11:48:58
422
原创 c++ 面试题1
1、如: int const * const p;找到第一个const, 后面除了有个const之外 就是 * 和 p, 那么见证奇迹的时刻来了,const * p 这就是我们要的结果,p指向的内容不可变找到第二个const, 后面只有个p, 那么见证奇迹的时候到了const p,,这就是结果, p不可变2、 32位 64位char 1 1int 4 大多数4,少数8long 4
2021-03-23 01:04:33
403
原创 排序算法
目录冒泡排序鸡尾酒排序,也叫定向冒泡排序选择排序插入排序二分插入排序希尔排序归并排序堆排序快速排序冒泡排序#include <stdio.h>// 分类 -------------- 内部比较排序// 数据结构 ---------- 数组// 最差时间复杂度 ---- O(n^2)// 最优时间复杂度 ---- 如果能在内部循环第一次运行时,使用一个旗标来表示有无需要交换的可能,可以把最优时间复杂度降低到O(n)// 平均时间复杂度 ---- O(n^2)// 所需辅助空间
2021-03-22 12:07:02
108
原创 算法题
目录1.实现strcpy.2.实现strcat.链接字符3.实现CString字符串类缺省四个方法4.不使用第三个变量交换两个数的值5.实现一个将字符串逆序的方法 (轴对称两两置换)6.C语言中字符串转数字的方法是什么( atoi ),请实现它 (倒叙算差值,求累加值)7.实现一个将字符串中所有字母转换为大写的方法8.已知一个数组已经降序排序请用二分查字法找到其中的某个元素找到返回索引否则返回-19.删除链表中值为Value的所有元素( [Head]->[node1]->[node2]-&
2021-03-22 11:02:04
549
原创 qml 输入
TTextEdit.qml// TTextEdit.qmlimport QtQuick 2.0FocusScope { width: 96; height: 96 Rectangle { anchors.fill: parent color: "lightsteelblue" border.color: "gray" } property alias text: input.text property alias.
2021-03-21 15:17:48
287
原创 qml 定位
BlueSquare.qmlimport QtQuick 2.0Item { id:root width: 48 height: 48 property alias text: label.text Rectangle{ width: parent.width height: parent.height color: "#87CEFA" Text { anchors.cen.
2021-03-21 14:18:28
223
原创 qml 学习资料
在线qml book:https://www.bookstack.cn/read/QmlBook-In-Chinese/README.md
2021-03-21 13:32:18
221
原创 qml 布局
简述Column:列对齐Row: 行对齐Grid: 栅格Flow: 流Square.qmlimport QtQuick 2.0Rectangle{ width: 48 height: 48 border.color: Qt.lighter(color) property alias text: label.text Text { id: label text: qsTr("text") anchors
2021-03-21 12:58:15
286
原创 qml 简单的转换
简述组件:ClickableImage.qml旋转:rotation比例:scale平滑:smoothClickableImage.qmlimport QtQuick 2.0Image { id: root signal clicked MouseArea{ anchors.fill: parent onClicked: root.clicked() }}transformations.qmlimport QtQu
2021-03-21 10:45:52
148
原创 qml 组件
组件自定义一个button。注意:组件Button.qml文件名要大写开头,不然调用不了。不知道为什么//Button.qmlimport QtQuick 2.0Item{ id:root signal clicked width: 116 height: 26 Rectangle { id: rect anchors.fill: parent //alias(别名)功能,它可以将内部嵌套的QML元素的属性
2021-03-21 00:09:14
149
原创 qml 基本元素
文章目录Item矩形渐变⾊文本元素图像⿏标区域元素(MouseArea Element)ItemItem(基本元素对象)通常被⽤来作为其它元素的容器使⽤,类似HTML语 ⾔中的div元素(div element)。矩形 Rectangle{ id:rect width: 800 height: 400 color: "slategray" }渐变⾊ Rectangle{ id:rect
2021-03-20 23:46:47
331
原创 qml demo1
代码import QtQuick 2.12import QtGraphicalEffects 1.0Image { id: root source: "images/background.png" property int blurRadius: 0 Image { id: pole source: "images/pole.png" anchors.horizontalCenter: parent.horizont.
2021-03-20 17:33:45
126
原创 c++ 算法题
参考https://blog.youkuaiyun.com/tqy19921202/article/details/80763564实现strcpy#include <iostream>using namespace std;char* MyStrCpy(char *pDest,const char *pSrc){ if(nullptr == pDest || nullptr == pSrc) { return nullptr; } if(pDest == pSrc)
2021-03-17 23:32:21
186
转载 c++11特性
初始化列表 Initializer Liststd::vector<int> v = { 1, 2, 3 };std::list<int> l = { 1, 2, 3 };std::set<int> s = { 1, 2, 3 };std::map<int, std::string> m = { {1, "a"}, {2, "b"} };类型推导 Auto Typeauto i = 1; // intauto d = 1.1;
2021-03-15 23:50:33
219
原创 Qt network
QNetworkAccessManager类允许应用程序发送网络请求并接收响应QNetworkRequest类保存要用QNetworkAccessManager发送的请求QNetworkReply类包含使用QNetworkAccessManager发送的请求后响应的数据。#include "widget.h"#include "ui_widget.h"#include <QNetworkRequest>Widget::Widget(QWidget *parent) : QW
2021-03-14 22:49:07
349
原创 Qt 网络编程
Qt Network 中的 C++ 类列表:要包含模块类的定义,请使用以下指令:# include < QtNetwork >要链接到模块上,请在你的.pro文件中添加这一行:QT += network项目Value链接QAbstractNetworkCache缓存实现的接口QAbstractSocket所有套接字类型通用的基本功能QAuthenticator认证对象QDnsDomainNameRecord存储域名记录信息
2021-03-13 23:23:53
902
原创 QTextStream与QDataStream的区别
QTextStream类为读写文本提供了一个方便的接口。 { QFile file("test.txt"); if (file.open(QFile::WriteOnly)) { QTextStream out(&file); out << "hello world"; file.flush(); file.close(); }
2021-03-13 00:11:08
390
原创 Qt 信号槽连接的几种方式
1、标准写法 connect(ui->pushButton,SIGNAL(clicked()),this,SLOT(onBtnClicked()));2、地址函数指针写法在编译期获得类型检查 connect(ui->pushButton,&QPushButton::clicked,this,&Widget::onBtnClicked);3、lambda表达式写法 connect(ui->pushButton,&QPushButton
2021-03-11 22:31:08
472
原创 Qt 日志文件
简述Qt 打印信息等级类型描述qDebug调试信息qInfo一般信息qWarning警告信息qCritical危险信息qFatal致命信息自定义日志输出信息:QtMessageHandler qInstallMessageHandler(QtMessageHandler handler)注意:qInstallMsgHandler(QtMsgHandler handler)已经不建议使用如果想在Release 状态下不打印调试信息,可以再
2021-03-11 15:22:57
253
原创 qt Q_ASSERT
简述Q_ASSERT 可以做一些特殊值,或者关键点的检查。注意:如果判断为false,会打印debug信息,并且程序停止后续操作。在.pro文件中加入QT_NO_DEBUG可以停止Q_ASSERT检查DEFINES += QT_NO_DEBUGQ_ASSERTvoid Q_ASSERT(test)int divide(int a, int b) { Q_ASSERT(b != 0); return a / b; }如果b等于0打印:ASSERT: “b !=
2021-03-11 12:15:52
432
原创 Qt 注册自定义类型
注册自定义类型信号和槽在不同线程中传自定义参数时,需要注册。否则就会报错:QObject::connect: Cannot queue arguments of type ‘QVector’(Make sure ‘QVector’ is registered using qRegisterMetaType().)注册格式:qRegisterMetaType<MyClass>("MyClass");例如:#include "widget.h"#include <QAppli
2021-03-10 11:56:32
1180
原创 QT信号槽
信号槽信号槽第五个参数,enum Qt::ConnectionType类型描述Qt::AutoConnection信号和槽,如果是同一个线程使用Qt::DirectConnection,不同使用Qt::QueuedConnection。信号发出时确定。Qt::DirectConnection发出信号时立即调用插槽。槽在信号线程中执行。Qt::QueuedConnection当控制返回到接收方线程的事件循环时,将调用槽。槽在接收方的线程中执行。Qt::Block
2021-03-09 21:19:45
171
原创 Qt之findChild和findChildren
findChild函数说明T QObject::findChild(const QString &name = QString(), Qt::FindChildOptions options = Qt::FindChildrenRecursively) const参数1: QString对象名(objectName)参数2: Qt::FindChildOptionsConstantValueDescriptionQt::FindDirectChildrenOnly
2021-02-21 22:38:58
5733
1
原创 qt调用SSDP协议
SSDP简介简单服务发现协议(SSDP,Simple Service Discovery Protocol)是一种应用层协议,是构成通用即插即用(UPnP)技术的核心协议之一。简单服务发现协议提供了在局部网络里面发现设备的机制。控制点(也就是接受服务的客户端)可以通过使用简单服务发现协议,根据自己的需要查询在自己所在的局部网络里面提供特定服务的设备。设备(也就是提供服务的服务器端)也可以通过使用简单服务发现协议,向自己所在的局部网络里面的控制点宣告它的存在。代码#include "widget.h"
2021-02-02 17:26:13
1005
2
原创 qt文本检索工具
概述根据关键字,检索文件夹下的文件内容代码#include "widget.h"#include "ui_widget.h"#include <QDir>#include <QtDebug>#include <QFileDialog>#include <QSettings>#include <QProcess>#include <QMessageBox>#include <QDesktopServices&
2020-05-25 12:13:00
806
原创 mariadb备份
数据库备份与还原1、备份进入到数据库安装目录\MariaDB 10.4\bin目录下,执行mysqldump -uroot -p123456 databaseName > backpath\FileName_%date:,4%%date:5,2%%date:~8,2%.sqldatabaseName:数据库名称Backpath:备份路径2、还原打开载入sql文件选择备份的sql文件清空当前的数据库,执行sql即可。修改数据保存目录1、停止MySQL服务。2、拷贝数据目录。
2020-05-14 14:20:18
874
原创 qt5.12 连接mariadb数据库
介绍mariadb是mysql的一个分支,代码编写上跟调用mysql一样。mariadb安装mariadb64下载: https://downloads.mariadb.org/.qt编译mysql驱动因为qt5.12不带mysql驱动,需要自己编译。下载64位的MySQL Community Server:https://dev.mysql.com/downloads/mysql/下载后解压即可,我的放在F:\mysql-8.0.20-winx64。用qt creator 打开mysql
2020-05-09 13:10:16
1928
原创 Qt进程间通信——QProcess
简介execute:阻塞运行start:异步运行delete process时,调用的exe结束进程代码调用进程#include "widget.h"#include "ui_widget.h"#include <QProcess>Widget::Widget(QWidget *parent) : QWidget(parent) , ui(new U...
2020-04-28 14:22:05
454
原创 Qt进程间通信——共享内存
说明setkey:设置密钥,密钥是Qt应用程序用来标识共享内存段的标识符。create:创建共享内存空间lock/unlock:加锁解锁attach:将进程与共享内存绑定isAttached:判断是否绑定detach:解除绑定代码#include "widget.h"#include "ui_widget.h"#include <QBuffer>#include...
2020-04-27 17:04:45
397
原创 Qt进程间通信
简述进程间通信,就是在不同进程之间传播或交换信息。通信方式管道(pipe):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。有名管道(named pipe):有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。信号量(semophore):信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常...
2020-04-27 13:16:56
2412
原创 QT 打包程序
1、在桌面创建test文件夹2、将生成的.exe可执行程序拷到test文件夹中3、从开始菜单打开 Qt 命令行4、输入命令:cd /d C:\Users\sun\Desktop\test 。指定到exe目录下5、输入命令:windeployqt untitled37.exe(windeployqt + exe全名)。6、双击exe即可正常运行...
2020-01-03 14:24:46
191
qt编写文本内容检索工具
2020-05-25
mysql driver.zip
2020-05-09
QTableView 鼠标移动显示提示框
2019-10-28
QTcpServer实现多客户端连接
2019-08-27
qt ftp上传下载
2019-08-14
设计模式.rar
2019-08-12
factory.rar
2019-07-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人