- 博客(73)
- 收藏
- 关注
原创 mysql数据迁移问题
编码 utf8mb4 ------------>对应的默认排序规则 utf8mb4_general_ci。编码 utf8mb4 ------------>对应的默认排序规则 utf8mb4_0900_ai_ci。编码:utf8 -----------> 对应的默认排序规则 utf8_general_ci。编码 utf8 ------------>对应的默认排序规则 utf8_general_ci。编码 utf8 ------------>对应的默认排序规则 utf8_general_ci。
2024-12-25 15:50:38
211
原创 mysql高版本导入到低版本
mysql高版本sql导入到低版本 提示sql错误:高版本数据库(8.0)转存sql文件 并导入低版本数据库(5.7)
2024-12-24 14:25:53
385
原创 Ubuntu开启远程root用户权限
。出于安全考虑,Ubuntu默认禁用了root账户的远程登录功能。具体来说,当尝试通过SSH远程登录时,系统会检查配置文件中的项,如果设置为no,则禁止root用户远程登录12。
2024-12-19 09:37:14
464
原创 C++与QML进行数据交互的常见方法
QML类型注册(QML Type Registration):可以将C++ 对象注册为自定义的QML类型,使得QML可以直接创建和使用这些对象。到此这篇关于C++与QML进行数据交互的常见方法总结的文章就介绍到这了,更多相关C++ QML数据交互内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!这是最简单的方式,可以在QML中直接绑定C++ 对象的属性。通过在C++ 对象中使用Q_PROPERTY宏定义属性,然后在QML中使用绑定语法将属性与QML元素关联起来。
2024-12-02 11:50:47
1402
原创 QML与C++交互的实现步骤
文档如是说,QML旨在通过C ++代码轻松扩展。Qt QML模块中的类使QML对象能够从C ++加载和操作,QML引擎与Qt元对象系统集成的本质使得C ++功能可以直接从QML调用。这允许开发混合应用程序,这些应用程序是通过混合使用QML,JavaScript和C ++代码实现的。除了从QML访问C ++功能的能力之外,Qt QML模块还提供了从C ++代码执行反向和操作QML对象的方法。下面会通过示例来讲解QML与C++的交互是如何实现的。
2024-11-27 19:54:36
620
原创 C++中的依赖注入
设值注入:通过设置器(setter)方法传入依赖。工厂模式:创建一个工厂类来创建依赖对象。构造函数注入:通过类的构造函数传入依赖。是一个简单的工厂类用来创建依赖对象。的智能指针作为依赖注入。函数中,我们通过工厂创建了。通过构造函数接收一个指向。方法,该方法依赖于注入的。的实例,并将其注入到。
2024-11-01 14:36:10
273
原创 java的依赖注入
java的依赖注入是个什么东西?2024-08-07 17:26河北摘要•帮你速读文章内容java中的依赖注入(Dependency Injection, DI)是一种软件设计模式,用于减少代码间的耦合度。它允许一个对象(被依赖的对象)在创建时或运行时,由外部实体(如容器或框架)将其依赖项(即它所依赖的其他对象)注入到该对象中,而不是由对象本身在其内部创建这些依赖项。这种方式使得代码更加模块化,易于测试和维护。
2024-11-01 14:19:36
539
原创 IDEA修改生成jar包名字的两种方法实现
更新时间:2023年08月18日 11:45:36 作者:白白白鲤鱼本文主要介绍了IDEA修改生成jar包名字的两种方法实现,通过简单的步骤,您可以修改项目名称并在打包时使用新的名称,具有一定的参考价值,感兴趣的可以了解下。
2024-11-01 09:04:06
815
原创 ByteBuf 详解
正如我们先前所指出的,。Java NIO 提供ByteBuffer作为字节的容器,但这个类是过于复杂,有点难以使用。Netty 中ByteBuffer的替代是ByteBuf,一个强大的实现,解决 JDK 的 API 的限制,以及为网络应用程序开发者一个更好的工具。但ByteBuf并不仅仅暴露操作一个字节序列的方法;这也是专门的 Netty 的的语义设计。在本章中,我们会说明相比于 JDK 的 API,ByteBuf所提供的卓越的功能和灵活性。这也将使我们能够更好地理解了 Netty 的数据处理。
2024-10-29 18:43:50
945
原创 Java实现树形结构的数据转Json格式
TreeBuilder.Node node = new TreeBuilder.Node(0,-1,"地球","WORD",1);TreeBuilder.Node node1 = new TreeBuilder.Node(1,0,"中国","CHN",1);TreeBuilder.Node node2 = new TreeBuilder.Node(2,1,"华北区域","A",2);TreeBuilder.Node node7 = new TreeBuilder.Node(7,6,"河南","豫",3);
2024-10-29 14:34:20
1114
原创 java后端把数据转换为树,map递归生成json树,返回给前端(后台转换)
最后,将生成的 JSON 树返回给前端即可。可以使用 Spring Boot 等后端框架中的 REST 接口返回 JSON 数据。复制代码这个接口的作用是从数据库中获取数据,然后将数据转换为树形结构并返回 JSON 树,其中编号为 1 的节点作为根节点。另外,需要在前端进行 AJAX 请求,获取后端生成的 JSON 树,并显示在页面上。总结:以上就是将后端的数据转换为树形结构,再通过递归生成 JSON 树,并返回给前端的完整攻略。
2024-10-29 14:28:59
590
原创 Java搭建MQTT服务端
通过使用Eclipse Paho MQTT Java Client库,我们可以快速实现MQTT服务端的基本功能。MQTT(Message Queuing Telemetry Transport)是一种轻量级的、基于发布/订阅模式的消息传输协议,广泛应用于物联网(IoT)领域。System.out.println("接收到消息: " + new String(message.getPayload()));选择一个MQTT服务端库,如Eclipse Paho MQTT Java Client。
2024-10-19 13:50:28
910
原创 java只有值传递
于是,根据上面的两段代码,有人得出一个新的结论:Java 的方法中,在传递普通类型的时候是值传递,在传递对象类型的时候是引用传递。也就是说,Java对象的传递,是通过复制的方式把引用关系传递了,如果我们没有改引用关系,而是找到引用的地址,把里面的内容改了,是会对调用方有影响的,因为大家指向的是同一个共享对象。在参数传递的过程中,实际参数的地址0x666被拷贝给了形参。在判断实参内容有没有受影响的时候,要看传的的是什么,如果你传递的是个地址,那么就看这个地址的变化会不会有影响,而不是看地址指向的对象的变化。
2024-10-17 09:05:01
166
原创 idea 发布jar包
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。注意:这个方式是jar内不包含第三方的依赖的,如果想做成和第三方依赖一起打包的,建议使用maven工具。我设置的输出路径为 C:\Users\admin\Desktop\kantools\target。当你有一个能正常编译的项目,以springboot为例,有两步步骤。1.点击右上角快捷按钮/文件-->项目结构,打开项目结构设置。2.项目结构-->Artifacts,如图所示选择。
2024-10-15 20:10:21
643
原创 在 IDEA 中创建 Spring Boot 项目的方式(详细步骤教程)
再次确认需要的项目名称,然后选择项目存储的位置,还可以进行更多的设置,包括模块名称,内容根目录,模块所在位置等信息,一般按默认的就可以了,点击 Finish 完成。,默认选择你的 JDK 和构建 Spring Boot 项目的 URL,接着点击右下角的 Next。选择 Spring Boot 版本,勾选项目需要的依赖项,这里目前勾选需要的 Spring Web 依赖,搞定点击 Next 继续。,目前我没用过 3.0,印象中我只用过 2.1.3,2.2.2,2.3.4,2.5.7。
2024-09-29 20:00:09
2637
1
原创 Linux虚拟机扩展磁盘空间
在VM的设置中分区之后,还需要进入Linux虚拟机,将扩展的磁盘空间分配给对应的分区。,不能进行写操作,所以需要调整其挂载方式,修改其挂载的权限为 读写 的模式。对选中该磁盘右键,选择 Resize/Move ,如下图所示。可以通过 拖拽移动 或者直接输入数值的方式来对指定分区。打开 Gparted 可以看到磁盘的情况如下,其中。下的 80G 为新扩展的可分配的磁盘空间大小。:重新以读写权限来挂载另一个目录。: 重新以读写权限来挂载根目录。,中间以 "," 进行分隔。并修改其挂载的权限为 读写。
2024-09-20 13:31:31
750
原创 LNK2019:_imp_closesocket socket等tcp网络函数无法识别符号的解决方法
1、error:LNK2019:无法解析的外部符号_imp_closesocket。可以这样加入:#comment(lib, "ws2_32.lib")需要加入库文件ws2_32.lib。
2024-08-09 18:20:17
293
原创 linux与windows环境下qt程序打包教程
创建项目目录,接纳依赖文件以及可执行文件(可执行文件需要手动make一个Release版本的,set(CMAKE_BUILD_TYPE "Release") )在windows环境下较为简单,直接使用Qt Creator左下方build release,编译release版本的可执行文件,之后将文件复制到空文件夹中。此外,如果项目需要静态资源文件,如项目中的resource文件夹,同样需要手动拷贝至项目根目录中。若qt项目为窗口应用程序,需要在cmakelist中添加如下命令,防止启动时弹出命令行窗口。
2024-08-07 11:55:41
473
原创 Linux压缩解压目录
直接解压到当前文件夹下,若要解压到指定文件夹,则需预先创建文件夹,将war包放到指定文件下后,执行命令。/opt/jenkins目录,unzip会自动创建。在Ubuntu中,常用的压缩和解压缩命令是。Ubuntu中的压缩命令。
2024-08-07 11:48:38
257
原创 关于linuxdeployqt 的一些理解
缺少插件,其实我碰到的是需要的东西我都安装了,ldd也找到了,就是linuxdeployqt 这个工具复制不过来,原因是缺少的这些插件及库 在我安装的qt6 对应的插件文件夹里面或者库文件夹里面,都是软连接,所以复制失败,就报找不到插件或者库了,个人理解,这个工具用了ldd命令,找出我们自己编译生成的可执行文件的所有依赖库的路径,然后再把所有的依赖库拷贝到可执行文件所在目录的相关目录中,这样就构建出 了可执行文件的运行环境。理解了linuxdeployqt 的原理就明白了。
2024-08-02 18:40:13
404
原创 QTableView 的单元格中加入QLabel标签控件,然后在QLabel上面加的有QIcon图片,此时QLabel加载到QTabelView的单元格时,QIcon不会居中
这样图片就居中了,因为我的QTableView 表格中没有太复杂的数据结构,主要是用来显示的,所以这中方法比较适合且简单,如果是复杂数据结构的有model类的话,得需要写一个代理类比较适合。QTableView 的单元格中加入QLabel标签控件,然后在QLabel上面加的有QIcon图片,此时QLabel加载到QTabelView的单元格时,QIcon不会居中。针对这个居中的需求看了好多案例,说是要继承QItemDelegate类,感觉比较麻烦,环境:QTcreater + Ubuntu。
2024-08-02 17:41:32
438
原创 Qt5升级到Qt6 出现的一些问题
1. QtableWidgetItem类 没有了setTextColor 函数 可以用 setForeground(color)替代,该函数的型参是一个QBrush,可以用QColor来替代, 因为QBrush的构造函数有一个可以把QColor转换为QBrush。在cmake工程中添加 find_package(Qt6 REQUIRED COMPONENTS Core5Compat) target_link_libraries(mytarget PRIVATE Qt6::Core5Compat)
2024-07-26 11:42:03
519
原创 std::getline、ifstream类的getline函数、get函数的区别
首先,这里说的get指的是专门用于读取输入流的 std::basic_istream<CharT,Traits>::get函数,具体一点就是std::istream::get、std::ifstream::get、std::istrstream::get、std::iostream::get、std::fstream::get、std::strstream::get及相应的宽字符输入流类型的成员函数get。get的作用是从输入流中读取(并释放)一个或多个字符。
2024-07-24 16:42:09
381
原创 C++程序如何在调用std::system函数隐藏黑色窗口
函数来执行某个命令,但是不希望显示黑色控制台窗口,你可以使用Windows API函数。// 设置为CREATE_NO_WINDOW,以隐藏窗口。可以指定创建进程的属性,包括是否创建一个新的窗口。标志可以阻止显示控制台窗口。记得在程序结束后使用。关闭进程和线程句柄,以避免资源泄露。// 关闭进程和线程句柄。替换为你想要执行的命令。在C++中,如果你想要调用。
2024-07-24 11:52:05
682
原创 C++读取txt中16进制的字符串,并将其存入unsigned char数组
i++) {elsei < 12;i++)elsereturn 0;
2024-07-24 09:11:10
820
原创 单例模式懒汉模式和饿汉模式
线程安全单例模式在单线程中,当然是安全的。但是如果在多线程中,由于并行判断,可能会导致创建多个实例。那么如何保证在多线程中单例还是只有一个实例呢?常见的三种方式:局部静态变量原理和饿汉模式相似,利用static只会初始化一次的特性,并且在第一次调用的情况下才会被初始化。
2024-07-23 17:09:17
1215
原创 C++11正则表达式详解(regex_match、regex_search和regex_replace)
正则表达式(regular expression)是计算机科学中的一个概念,又称规则表达式,下面这篇文章主要介绍了C++11正则表达式(regex_match、regex_search和regex_replace)的相关资料,需要的朋友可以参考下。
2024-07-23 11:38:21
1440
原创 c++获取文件大小的3个方法
原文链接:https://blog.youkuaiyun.com/wyw0000/article/details/129895107。// 这是一个存储文件(夹)信息的结构体,其中有文件大小和创建时间、访问时间、修改时间等。曾经遇到过一种奇怪的问题就是用c++的方式计算的文件大小总是不对的,后来改为c语言的方式就对了。//获取文件指针的位置,此时就相当于文件大小了。//获取文件指针的位置,此时就相当于文件大小了。//文件指针移到文件开头。//文件指针移到文件开头。//文件指针移到文件尾。//文件指针移到文件尾。
2024-07-23 11:13:08
998
原创 从文件中读取数据的两种方法c++和C
c++ 中从文件中读取数据常用的方法有两种:文件流对象:使用文件流对象读取数据,逐行读取文件,需要先打开输入文件。c 标准 i/o 函数:使用 c 标准 i/o 函数读取数据,使用底层函数操作文件,可同时读取和写入。
2024-07-23 10:59:35
290
原创 C++生成随机数的两种方法
库,它提供了更多的控制和灵活性,包括支持更多种类的随机数分布和更高级的随机数引擎。库的方法简单易用,但在需要更高质量的随机数时,推荐使用。在C++中,产生随机数的方法主要有两种:使用。库中的随机数生成器和分布类。这两种方法各有优势,。
2024-07-22 09:53:53
711
转载 学习QSettings类,解析INI配置文件
这种配置文件的文件扩展名多为(ini)。最好是通过全路径访问的方式,如(C:/xxx/config.ini),或者通过QApplication::applicationDirPath()+"/config.ini"之类的方式来访问ini文件。mysql组有三个配置项,分别是:(db_server=100.10.1.120:3306)、(db_name=erp)、(db_account=root)和(db_password=admin)。// 定义QSettings对象,加载(config.ini)文件。
2024-07-16 19:27:06
158
原创 【C++】static关键字及其修饰的静态成员变量/函数详解
static 是 C/C++ 中很常用的修饰符,它被用来控制变量的存储方式和可见性。
2024-07-15 18:04:07
1155
原创 C++ 匹配并提取包括加中括号的日期时间的正则表达式
来搜索文本中符合正则表达式的部分,并且提取了年、月、日、小时、分钟和秒。如果找到匹配,它们将被转换为整数并输出。如果没有找到匹配,将输出"No datetime found."。库来匹配包含日期和时间的字符串。以下是一个简单的例子,它展示了如何使用正则表达式来匹配形如。include <iostream>在C++中,你可以使用。
2024-07-15 16:30:57
396
原创 C++将格式化的时间转换为时间戳展开
头文件中的类和函数将格式化的时间转换为时间戳。以下是一个例子,演示如何将"年-月-日 时:分:秒"格式的时间转换为自1970年1月1日以来的秒数。std::cout
2024-07-15 15:46:11
541
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人