自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

麦克·唐

路漫漫其修远兮,吾将Ctrl C加Ctrl V

  • 博客(18)
  • 资源 (3)
  • 收藏
  • 关注

原创 QT下欢迎页面的自动跳转——事件过滤器(eventFilter)和定时器的应用

1.练习背景    这次的练习也是项目当中实际要用到的一个功能,就是所谓的欢迎界面。    在现在大多数客户端程序中呢,欢迎界面能够起到很大的作用,不只是字面的欢迎,还可以提示一些注意事项,或者是展示跟自家公司相关的广告或产品。    本次练习呢,不涉及页面的展示内容,只是去实现一个欢迎页面自动跳转的功能。2.所用技术点    实现欢迎页面除了常用的一些信号,窗口类的常用操作之...

2018-12-27 12:13:25 1020 1

原创 Qt下的自定义控件——通过继承QComboBox并重写event来实现想要的效果

1.需求    在项目当中呢,需要做一个根据QComboBox的子项显示相应数据的功能,这个很简单,通过QComboBox自有的activated信号就能解决。但是呢,又需要在切换QComboBox子项时,把当前子项相关的那部分数据记录下来,否则切换一次子项再切换回来之前修改的数据就白做了。2.需求分析    首先一点,这个需求呢,是想要在你切换子项这个动作发生或者将要发生的时候,...

2018-12-20 13:29:19 4400 2

原创 QSetting缓存机制的坑

在工作中遇到这么一个问题,使用QSetting打开配置文件后,更新覆盖了一下被打开的文件,结果读取出来的内容还是原先的内容。查了一下博客,发现QSetting是缓存在内存中的,再次打开是直接从内存中打开。...

2021-01-04 16:13:33 573

原创 Windows,Unix,MacOs系统下文本文件的转换

经常遇到各个系统下的文件拷贝来拷贝去,看着没问题,也不乱码,但是一编译或者一执行就出问题,你可能得看看这篇文章了。首先,用notepad++打开一个文件。它应该是这样的。紧接着,视图->显示符号->显示所有字符,它就变成了这样。这就是问题所在了,接下来,编辑->文档格式转换->转换为Unix。它就变成了这样。明白问题所在了吧,就是这个换行符的问题。...

2020-09-29 13:46:59 934

原创 白话C++设计模式(一)

1.MVC架构模式和MVP架构模式简单来说就是显示、逻辑、和数据分离,两种模式的主要区别在于数据层能否直接和显示层进行交互。2.B/S(瘦客户端)和C/S(胖客户端)一般主要是指web和客户端之间的区别,主要体现在是否有大量的数据和运行支撑在你的本地环境上。3.简单工厂模式定义一个类,这个类被称为工厂,你想要什么类型的指针,告诉它,它给你去生产一个对象给你用。一个工厂生产N个类型的对象。导致的后果就是,想要工厂生产新的对象,你就得修改工厂,破坏了工厂的闭合。4.工厂模式定义一

2020-09-17 19:59:24 317

原创 新的单例模式,std::call_once C++11新特性

通过C++11新特性std::call_once 来调用某个函数,只能成功调用一次,调用成功后再次调用不会执行,调用失败再次调用还会执行。用来调用某个单例的初始化函数比较合适,而且对于线程是安全的。...

2020-09-17 16:37:14 278

原创 Qt项目中引用的公共代码,通过宏定义匹配代码块

在一些大型项目中会存在一些公共代码,但在这些公共代码中又需要根据引用的具体项目去实现一些特定的代码,这时候一般是通过宏定义的方式去判断目前所引用代码的项目是哪个项目,来决定某些代码是否生效。#ifdef PROJECT_A//A需要生效的代码#else if PROJECT_B//B需要生效的代码#endif通过这种方式能够进行区分,上面写的PROJECT_A,PROJECT_B是在项目pro文件中进行定义的DEFINES += ROLE_STUDENT...

2020-09-17 16:29:44 315

原创 Qt配置项目编码格式

Qt中pro文件配置编码格式:msvc:QMAKE_CXXFLAGS += -charset:utf-8pro中变量含义:https://www.cnblogs.com/senior-engineer/p/8469297.html

2020-09-17 12:26:16 1197 1

原创 Qt下的综合练习—汽车信息管理系统(四)日销售清单的实现(XML)

项目介绍    这次练习的项目是汽车信息管理系统,项目参考Qt5开发及实例(第3版)中的汽车销售管理系统,写到博客上的目的是为了梳理自己的思路,所以代码很大程度上是参照书上的实例。    项目实现了车辆与销售的的管理,运行程序出现登录界面,输入正确的密码才能登录,进入主界面后有两个菜单,【销售管理】和【修改密码】,【销售管理】菜单下有三个子菜单,【车辆管理】、【销售统计】、【退出】。其中车...

2019-01-24 15:53:39 1033 2

原创 C++Socket学习笔记—— windows.h和WinSocket2.h的冲突

如何解决windows.h和WinSocket2.h的冲突最近在学习c++网络编程,刚一 开始就遇到了一个问题,就是引入windows.h和WinSocket2.h头文件之后生成失败,警告信息是下面这样的。意思就是说发生了很多宏定义冲突,而且这些宏定义都是接下来的socket编程需要用到的。在网上查了很多资料,简单来说呢,原因就是windows.h头文件中已经包含了很多关于sock...

2019-01-12 20:51:55 2580

原创 Qt下的综合练习—汽车信息管理系统(三)车辆出售功能的实现

项目介绍    这次练习的项目是汽车信息管理系统,项目参考Qt5开发及实例(第3版)中的汽车销售管理系统,写到博客上的目的是为了梳理自己的思路,所以代码很大程度上是参照书上的实例。    项目实现了车辆与销售的的管理,运行程序出现登录界面,输入正确的密码才能登录,进入主界面后有两个菜单,【销售管理】和【修改密码】,【销售管理】菜单下有三个子菜单,【车辆管理】、【销售统计】、【退出】。其中车...

2019-01-11 15:34:26 1338 2

原创 Qt下的国际化方法—翻译文件(.ts .qm文件)的使用

1.获取所需翻译的文本在代码中需要翻译的文本的都需要用下面的方式使用 tr() 括起来。//创建菜单子项 manageAction = new QAction(tr("vehicle management"),this); chartAction = new QAction(tr("Sales statistics"),this); quitAction = ne...

2019-01-07 17:03:42 14758 4

原创 Qt下的综合练习—汽车信息管理系统(二)菜单栏的实现

项目介绍    这次练习的项目是汽车信息管理系统,项目参考Qt5开发及实例(第3版)中的汽车销售管理系统,写到博客上的目的是为了梳理自己的思路,所以代码很大程度上是参照书上的实例。    项目实现了车辆与销售的的管理,运行程序出现登录界面,输入正确的密码才能登录,进入主界面后有两个菜单,【销售管理】和【修改密码】,【销售管理】菜单下有三个子菜单,【车辆管理】、【销售统计】、【退出】。其中车...

2019-01-07 16:36:10 844 2

原创 Qt下的综合练习—汽车信息管理系统(一)主界面设计

项目介绍    这次练习的项目是汽车信息管理系统,项目参考Qt5开发及实例(第3版)中的汽车销售管理系统,写到博客上的目的是为了梳理自己的思路,所以代码很大程度上是参照书上的实例。    项目实现了车辆与销售的的管理,运行程序出现登录界面,输入正确的密码才能登录,进入主界面后有两个菜单,【销售管理】和【修改密码】,【销售管理】菜单下有三个子菜单,【车辆管理】、【销售统计】、【退出】。其中车...

2019-01-07 16:18:07 2343

原创 QT项目日记——使用QSetting区分导入的文件是否符合要求(不是区分后缀名)

1.需求    由于设备的不同,需要在导入文件的时候,区分文件是否和设备匹配。    PS:设备编号已经获取到,能够直接使用。2.需求分析    通常导入文件的时候需要区分的只是文件的后缀名,至于文件的内容则是在使用的时候进行检查。   但是这次是需要在导入文件的过程中,进行对文件内容的检查,并获取其中的某个字段,跟设备类型进行匹配。    PS:文件内容为键值对类型,所以...

2018-12-24 17:28:50 447

原创 Qt下的Tcp协议练习——客户端

上一篇文章记录了本次聊天室项目服务端的实现过程和主要代码,本篇文章将记录客户端的实现过程和主要代码。至于Tcp的原理,上篇文章已经提到过了,所以在这里就不多啰嗦了。还是一样的套路,上来先初始化控件对象和设置布局,这些都不是重点,可以自己随意布局。 //设置窗口标题 setWindowTitle(tr("TCP Client")); //初始化控件对象 c...

2018-12-14 17:16:22 285

原创 Qt下的Tcp协议练习——服务端

1.Tcp协议的原理Tcp协议是一种可靠、面向连接、面向数据流的传输协议,适合数据的连续传输。Tcp协议能够确保一台计算机发出的数据无差错的传输给网络上的其他计算机,但是在传输数据前,必须建立连接(三次握手)。2.传输过程首先,服务端和客户端通过三次握手建立连接。然后,客户端向服务端发送一个请求,服务端处理这个请求,并向客户端返回一个响应,这个过程会一直持续。直到客户端为服...

2018-12-14 09:52:08 431

原创 Qt下的Udp协议练习

1.UDP的工作原理客户端向服务端发送一段请求报文,报文大小与各个系统的协议实现有关,但不能超过下层IP协议规定的64KB;服务端同样以报文的形式作出相应,如果服务端没有收到请求,则不会作出回应,客户端也不会重新发送,所以报文传输的可靠性不高。2. 实例服务端: port=5555;//设置UDP的端口,服务端定时向此端口发送广播 udpSocket = new...

2018-12-13 13:46:57 846 1

使用定时器和事件过滤器实现的欢迎页面

使用定时器和事件过滤器实现的欢迎页面,在博客中也实现过程的详细说明

2018-12-27

Tcp协议简易聊天室

使用QT环境开发的一个简易聊天室,使用Tcp协议,代码简洁,注释很全

2018-12-18

Udp协议Demo

在QT下使用Udp协议的一个小Demo,没什么复杂的就是为了练练手

2018-12-18

空空如也

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

TA关注的人

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