自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(498)
  • 资源 (15)
  • 收藏
  • 关注

原创 数据库中存储树状关系的数据

(笛卡尔积是指两个集合中所有可能的组合)(也就是上面这种情况)

2024-10-17 04:42:19 618

原创 SQL 多表联查

LastName:姓FirstName:名Address: 地址City: 城市。

2024-10-17 03:36:36 653

原创 C++多线程

被命名为t的std::thread对象拥有新函数hello()作为其初始函数。对于所有其他线程,这在std::thread对象的构造函数中指定。每个线程都必须具有一个初始函数,新线程的执行在这里开始。初始线程始于main(),而新线程始于hello().对于应用程序而言,初始线程是main()。《C++并发编程实战》

2024-10-16 02:36:01 232

原创 模态与非模态的对话框

这样写的话,dialog是模态窗口,先显示dialog,关闭后,才显示widget。而且,因为使用了exec()方法,当dialog关闭后,程序才继续向下执行。这样写的话,dialog是模态窗口,但还是一闪而逝。写成这样的话,dialog是模态的。

2024-10-15 23:07:32 434

原创 FileZilla的简单使用

我在Window下安装了。,启用了Ubuntu的。

2024-10-13 02:50:12 300

原创 QSqlDatabasePrivate::removeDatabase: connection ‘connection‘ is still in use, all queries will cease

之前在网上查过,有个网友分享的,就是在 调用。这样写就可以了,不弹出上面的提示信息了。

2024-10-12 01:21:26 208

原创 int QSqlQuery::size() const

注意:对于非查询语句,将返回-1(isSelect()返回false)为了确定非查询语句影响的行数,使用numRowsAffected().(如果大小不能被决定 或者 数据库不支持报告查询的大小信息)如果查询不是活跃的(isActive()),返回-1.返回结果的大小(返回的行数)

2024-10-12 00:03:15 336

原创 观察者(observer)模式

观察者模式定义了对象之间的一对多依赖,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。针对具体实现编程,会导致我们以后在增加或删除布告板时必须修改该部分代码。观察者已经订阅主题以便在主题数据改变时能收到更新。这样可以建立有弹性的OO系统,能够应对变化。采取观察者模式:主题的数据安全性有所保障。《Head First设计模式》p38。为了交互对象之间的松耦合设计而努力。现在有三个使用天气数据的布告板。当主题内的数据改变,会通知观察者。布告板1,布告板2,布告板3。可以从被观察者处推或拉数据。

2024-10-08 04:04:41 340

原创 设计模式的学习

这本书是用java写的,我是写C++的,用C++来写相关的代码。

2024-10-07 06:48:32 713

原创 C++ 多线程

延迟加载方式创建线程。调用async时不创建线程,直到调用了future的get或者wait时才创建线程。来自《深入应用C++11 代码优化与工程级应用》可以看到,应该是第16行和第21行同时执行了。函数会阻塞线程,直到线程函数执行结束。在调用async时就开始创建线程。5.线程异步操作函数async。线程对象就代表着一个线程。需要注意线程对象的生命周期。线程对象t的id是2。

2024-10-01 15:33:18 459

原创 《More Effective C++》的学习

因为reference一定是有效的,而指针可能为空(需要多加一个判断)。指针可以被重新赋值,指向另一个对象,而引用总是指向初始化时的那个对象。static_cast基本上和C旧式转型有相同的威力,限制。旧式的C转型方式:几乎允许你将任何类型转换为任何其他类型。使用reference可能比使用pointer更高效。double--->pointer 不可以。strcut--->int 不可以。移除表达式的常量性 不可以。改变表达式中的常量性和变易性。可以将某个变量的常量性去除。

2024-10-01 04:21:58 311

原创 QSqlDatabase在多线程中的使用

QSqlDatabase::addDatabase和QSqlDatabase::open外部加锁,然后两个数据库都可以打开了。如:有两个线程,它们同时要访问一个共有的资源,这时候就会出现对资源的竞争,如果不添加锁,会出现什么情况将是未知的。而线程2打开数据库失败,此时让流程继续走下去,结果不是我们期望的,所以要加锁。(应该是在执行这两个函数时,会有数据竞争的情况发生)在使用多线程时,特别需要注意的就是刚才出现的情况。线程1打开数据库成功,它的流程正常进行。1000条记录:内容均为123。

2024-10-01 02:34:48 1040

原创 Qt多线程与数据库

那么可以用多线程,在子线程中查询数据,主线程可以弹出一个模态窗口进行提示,如“数据载入中”。如果希望在子线程中完成对数据库的查询操作,那么在子线程中重新添加一个新的连接名。之前上个项目用的方法是分页显示,数据库查询时加limit。但是我按这个思路走下去,程序会出现偶发的崩溃。这次情景不同,如果就必须要把数据都读出来。数据库的一张表里有10000条数据。一下子都读出来,页面会卡死。去找原因时,猜测应该是因为。

2024-09-29 23:45:25 494

原创 数据库中的表添加uuid字段

我认为数据库中的表应该是有一个uuid字段来唯一标识表中的一条记录的。我们使用uuid作为一个永远不会改变的值,创建后就不再变化。QUuid::createUuid()来进行创建。在此基础上,对记录进行增删改查,其实都会简单一些。因为总有一个字段(uuid)是不变的。

2024-09-29 23:14:34 295

原创 了解ORM

什么是ORM?为什么要用ORM?-CSDN博客C++高级编程(99)面向资源的设计思想(ORM)_c++ orm-CSDN博客ORM:Object-Relational-Mapping对象关系映射--------------------------我想对数据库中的表A进行增删改查。表A有10000条数据我希望可以得到表A的所有数据。通过拼sql语句,得到数据,存入内存中,这样再次需要读取表A的数据时,我直接读内存中的数据即可,不需要再重新查数据库了。需要注意的是,内存中数据与数据库中数据需要保持一致。这一点

2024-09-29 23:08:19 248

原创 如何在qtcreator debugger上运行gdb命令

在main.cpp文件的第7行加入条件断点,条件为i==5。在main.cpp文件的第5行加入断点。

2024-09-22 03:59:54 300

原创 Qt Debugging帮助文档

但不知道为什么,46行的条件没有生效,47行的条件生效了。在程序停止之前忽略该断点200次。当i==10时,程序中断。

2024-09-22 03:17:40 259

原创 对软件进行调试

7.无法重现的情况应该是特殊的情况,需要分析有哪些可能的条件下才会出现异常。

2024-09-22 02:12:20 216

原创 Qt断点调试

Locals and Expressions:控制右侧变量监视窗口是否显示。Shift+F11:单步退出所在的那个函数,进行下一步。记录了该应用程序运行时依赖的dll库。线程窗口:可以与stack进行联动。Breakpoints---断点。5.在右键菜单中可以移除。Stack---堆栈。Modules:模块。暂时还不知道干啥的。

2024-09-21 15:51:26 400

原创 QTCreator 调试:unknown debugger type “No engine“

一开始Debuggers---Auto-detected这里第一row第一个项是标红的,然后没改东西,点完应用Apply以后,就可以调试了...(不太理解)

2024-09-21 05:42:30 245

原创 柱状图与饼图

柱状图饼图。

2024-09-21 05:17:52 176

原创 void QTableWidget::setRowCount(int rows)

【代码】void QTableWidget::setRowCount(int rows)

2024-09-21 05:08:04 184

原创 达梦数据库的了解

使用的数据库管理工具是。

2024-09-21 04:39:48 259

原创 局域网UDP通信实验

手机IPV4地址:192.168.0.20。电脑IPV4地址:192.168.0.39。此时手机和电脑在同一局域网中。这篇文章中提到的调试助手。随身WIFI连接电脑。手机端使用app梦络。

2024-09-14 01:57:06 245

原创 Qt与Udp

所以该包只能限制在本网段。,当某机器发出目的地址为。只能在局域网中转发。

2024-09-14 01:26:58 656

原创 测试用例的了解

测试执行结果的正确性是可判定的,每一个测试用例都应有相应的期望结果。:对同样的测试用例,系统的执行结果应当是相同的。:对程序中的可能存在的错误有针对性地测试。最近在做的工作主要是。

2024-09-13 23:40:10 426

原创 C++中的try与catch

【代码】C++中的try与catch。

2024-09-13 02:15:51 200

原创 QScopedPointer的了解

技术,当QScopedPointer被销毁时,它将。QScopedPointer使用了。QScopedPointer不支持。本文摘录自上面的文章。其类似于C++11中的。

2024-09-11 01:33:56 379

原创 单例模式的学习

【代码】单例模式的学习。

2024-09-10 01:20:55 333

原创 近期工作思考

(4)写程序,免不了会写出来bug,如果不是自己写的代码,而是别人的bug,这时候就非常考验。的,程序的层次尽量分明,一层叠一层,的时候,一些代码就会显出问题了,比如。,写的好的话,可以减少代码冗余。真是感觉到被广泛使用,以及。(3)一般来说,是要把。的能力了,挺重要的!

2024-09-10 00:43:53 172

原创 银河麒麟下使用QtCreator

进行开发,感觉其实使用起来也挺方便的,跟在Windows下开发非常类似,没什么大差别。近期接触的一个项目,是在。

2024-09-10 00:28:54 203

原创 奇异递归模板模式(Curiously Recurring Template Pattern)

在Action模板参数中接收Animal类型的引用(或指针)并在其中调用了animal对象的Run方法,由于这里传入的是不同的子类对象,因此Action中的animal也会有不同的行为。通过CRTP可以使得类具有类似于虚函数的效果,同时没有虚函数调用时的开销(虚函数调用时需要通过虚函数指针查找虚函数表进行调用),同时类的对象的体积相比使用虚函数也会减少(不需要存储虚函数指针),但是缺点是无法动态绑定。基类为Base,是模板类,子类Drived继承自Base同时模板参数为Drived,基类中有接口。

2024-09-04 01:54:33 760

原创 在Ubuntu上运行QtCreator相关程序

(2)之前在Windows上其实写过很多demo,现在希望把它们的源码移到Ubuntu上,然后使用Linux下的Qt Creator编译运行。思考:之前并没有觉得Qt跨平台的能力有多好,但试过之后发现确实挺不错的,移植起来挺方便的。(1)我是把Windows上的程序移过来的,Windows上文件名称是不区分大小写的。首先:使Windows与Ubuntu共享文件夹。而Ubuntu上是区分的。

2024-09-04 00:27:49 427

原创 C++中函数返回值为引用

以上函数的返回值是引用类型。无论返回s1还是s2,调用函数和返回结果时,都没有拷贝这些string对象。在类的成员函数中,返回引用的类对象,一般为this指向的对象。

2024-09-02 23:55:16 238

原创 QObject::moveToThread(QThread * targetThread)

来得到当前application的指针,使用。移动一个对象到主线程,使用。该函数只能把一个对象从。

2024-08-31 18:05:29 241

原创 学习QGraphicsview

返回值 :图像的伸缩比例。

2024-08-31 00:15:17 972

原创 QStandardItemModel

这里设置的是int型value,对应的是QSpinBox。

2024-08-28 16:54:58 234

原创 QtConcurrent

QtConcurrent提供了一个将任务分发到处理器所有的核的易用接口。线程代码完全被隐藏在QtConcurrent框架下,我们不必考虑细节。不能用于线程运行时需要通信或阻塞的情况。直接调用QtConcurrent::run,第一个参数是线程池指针,没有传默认使用全局线程池,之后的可执行对象和参数,可以参考c++11的async,结果使用QFuture接收。如果只是普通的任务,没有对象和线程间通信这些,首选QtConcurrent。下面这段来自上面的文章!

2024-08-28 16:47:57 973

原创 Qt上位机方向---C++面试题记录

它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,当主题对象状态发生变换时,会通知所有的观察者对象,使它们能够自动更新自己的状态。Qt中的对象可以形成一个层次结构,一个对象可以拥有多个子对象,当父对象被销毁时,它会自动销毁其所有子对象。一个对象只能有一个父对象。Qpointer,QSharedPointer,QWeakPointer,QScopedPointer(类似unique_ptr)本文摘抄自上面的文章,用于学习和记忆。主要通过对象树和智能指针。通讯的信号与槽机制,

2024-08-28 14:42:05 513

原创 Qt与SVG

【代码】Qt与SVG。

2024-08-27 18:00:27 452

QtSingleApplication

QtSingleApplication

2024-06-24

tcp客户端(多线程版本)

存在很多bug,连接到服务器后,点击发送,在子线程中每1ms发送一次数据给服务器

2024-04-25

tcp服务器端代码(与演示效果相符)

tcp服务器端代码(与演示效果相符)

2024-04-24

Qt tcp通信(exe)

(服务器+客户端)(一对一)

2024-04-23

Qt的tcp网络编程(客户端和服务器)

(只支持一对一通讯)(来自Qt5.9 C++开发指南)

2024-04-23

QtWebApp的示例

https://blog.csdn.net/weixin_41001497/article/details/108317463?ops_request_misc=&request_id=&biz_id=102&utm_term=http%E6%9C%8D%E5%8A%A1%E5%99%A8%20qt&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-108317463.142^v99^pc_search_result_base4&spm=1018.2226.3001.4187 代码来自这篇文章

2024-03-22

miniblink简单demo分享

miniblink简单demo分享

2024-02-21

使用QZipWriter来递归地压缩文件夹

使用QZipWriter来递归地压缩文件夹

2024-02-09

我学习qt以来的所有demo的集合

我学习qt以来的所有demo的集合

2023-09-01

数据库期中考试试题(有答案)

数据库期中考试试题(有答案)

2023-07-23

数据库期中考试试题(无答案)

数据库期中考试试题(无答案)

2023-07-22

微机(测试,实验,作业)(水)

微机(测试,实验,作业)(水)

2023-07-11

计网实训个人记录与总结(水)

计网实训个人记录与总结(水)

2023-07-10

编译原理学习记录(纯纯记录)

编译原理学习记录(纯纯记录)

2023-04-20

Qt与sql server 2008

Qt与sql server 2008

2022-11-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除