瓶子的跋涉
🏺

瓶子的跋涉

=YuHeShui=

C和C++线程池汇总

C和C++线程池汇总

# 多线程 > C++ 11提供的线程类std::thread > > * thread > > * mutex > > * condition_variable > > * atomix > > * future > > ![多线程](https://mmbiz.qpic.cn/mmbiz_png/ORog4TEnkbvXJRJqUjeibMeWIa6MRMpOpCx2vvZvK2Odty70EUcZm0RwySS6eunTGBYStZOmhDWcTkoMr8TZblg/640?wx_fmt=png "多线程") ## 构造函数 ```cpp //默认构造函数对象,不进行任何操作
more...
C实现员工工资管理系统

C实现员工工资管理系统

# 员工工资管理系统 ## 实现功能 >* 程序中的数据存储到文件中。 >* 可以录入员工工资信息,格式如下: > (工号(8位) 姓名、部门、年份、月份、应发工资,实发工资) > 其中,实发工资=应发工资-税费,税费扣除方法请自行调查。实发工资由系统自动计算。 >* 输出所有员工工资信息。 > - 先按年份升序输出,同一年的工资信息按月份升序输出,同一月的工资信息按工号升序输出。 > - 先按部门降序输出,同一部门的工资信息按实发工资升序输出 >* 可以删除某个员工的工资信息。(删除时按工号删除)。 >* 工资查询 > - 根据姓名查找该员工的工资信息,若有同名,则
more...
Qt实现串口通信

Qt实现串口通信

# 串口 > 串口: 一种计算即通信接口,通过穿行传输数据,用于将计算机与外部设备(例如打印机,调制解调器,传感器等)连接起来 * `QSerialPort`:Qt中的`串口`类,用于实现串口通信功能。 * `QSerialPortInfo`:Qt中的`串口信息类`,用于获取系统中`可用`的串口信息。 * 波特率(`Baud Rate`):表示`每秒钟传输的比特数`,也就是串口传输数据的速度。在Qt中,可以使用``QSerialPort::setBaudRate()`函数设置`波特率。` * 数据位(Data Bits):表示`每个字符使用的比特数`,通常为7或8位。在Qt中,可以使用`Q
more...
Qt事件

Qt事件

# 事件 > 事件时系统或者`Qt`本身在不同的场景下发出的。当用户按钮/移动鼠标,敲下键盘,或者关闭窗口/大小发生变化/隐藏或显示都会发出一个相应的事件。基于窗口的应用程序都是基于事件,其目的主要用来实现回调。事件发生经过:`事件派发->事件过滤->事件分发->事件处理`.`event`事件派发到指定窗口,`eventFilter`事件过滤事件,`enterEvent`事件分发,`mouseMoveEvent`具体的时间处理 > 每个Qt都对应唯一的`QApplication`应用程序,然后调用这个对象`exec()函数`-程序将进入事件循环来`监听应用程序事件` ```cpp int m
more...
Qt窗口与控件

Qt窗口与控件

# QWidget > `QWidget`类是所有窗口类的`父类`(控件类也属于`窗口类`),QWidget类的父类的QObject也意味着所有窗口类对象只要指定了父对象,都可以实现`内存资源的自动回收`。 ## 常见 * QWidget * QDialog * QMessageBox 信息窗口 * QFileFialog 选择文件 * QFontDialog 设置文字 * QColor 设置颜色 * QInputDialog 设置对话框 * QPrgressDialog进度条 * 浮动窗口 ![保存窗口类文件](https://mmbiz.qpic.cn/mmb
more...
Qt信号与槽

Qt信号与槽

> 当按钮检测到自己被点击,它就发出一个信号`signal`,当对象对这个信号感兴趣,就会使用连接connect函数,将要处理的信号与自己的函数(也称为`槽`)绑定到一起处理这个信号 ## 信号 > 信号时由于用户对窗口或控件进行了某些操作,导致窗口或控件产生了特定时间,Qt会发出某个信号,以此对用户的挑选做出反映,信号的本质就是事件 > > * 鼠标点击,双击 > * 窗口刷新(大小变化) > * 鼠标移动,鼠标按下,鼠标释放 > * 键盘输入 ## 槽 > 槽函数是一类特殊的功能函数,在编码过程中也可以作为类的普通成员函数来使用。 ## connect > 在Qt中信号和槽都是独立
more...
Cmake笔记

Cmake笔记

# `Cmake`笔记 > `Cmake`允许开发者指定整个工程的编译流程,再根据编译平台,自动生成本地化的`makefile`和工程文件,只需`make`即可`编译`。一款自动生成`Makefile`的工具。程序执行流程:预处理,编译,汇编,链接与生成可执行文件 > ![CMake流程图](https://i.imgtg.com/2023/05/27/OoNGdl.png "cmake流程图") ## `Cmake`优点 * `跨平台` * 能够管理大型项目 * 简化编译构建过程和编译过程 * 可扩展:可以为`cmake`编写特定功能的模块,扩充`cmake`功能 ## `Cmake
more...
Qt基础入门

Qt基础入门

# QT初步简介 ## Qt模块 |模块 |描述| | ------ |-------| |Qt Core |Qt 类库的核心,所有其他模块都依赖于此模块| |Qt GUI |设计 GUI 界面的基础类,包括 OpenGL| |Qt Multimedia |音频、视频、摄像头和广播功能的类| |Qt Multimedia Widgets |实现多媒体功能的界面组件类| |Qt Network |使网络编程更简单和轻便的类| |Qt QML |用于 QML 和 JavaScript 语言的类| |Qt Quick |用于构建具有定制用户界面的动态应用程序的声明框架| |Qt Quick Cont
more...
Makefile

Makefile

# 静态库 > 对源文件进行汇编操作`(使用参数-c)`得到二进制的目标文件`(.o 格式)`,然后通过`ar工具`将目标文件打包就可以得到`静态库文件``(libxxxx.a)` ## `ar`参数 * 参数c:创建一个库,不管库是否存在 * 参数s:创建目标文件索引,在创建较大库时加快时间 * 参数r:在库中插入模块(替代)。默认新的成员添加在库的结尾处,若该模块已经存在,则替换同名模块 ## 生成静态链接库 * 对源文件进行汇编,得到`.o`文件 ```sh gcc 源文件(*.c) -c ``` * 将得到的.o进行打包,得到静态库 ```sh ar rcs 静态库名字(libx
more...
linux文件

linux文件

# Linux文件操作 ## Open > 通过Open函数打开一个磁盘文件,如果不存在还可以打开新的文件 ```cpp #include <sys/type.h> #include <sys/stat.h> #include <fcntl.h> // open 函数只能在Linux系统中使用g int open(const char *pathname,int flags); int open(const char* pathname,int flags,mode_t mode); ``` ### 参数 > pathname :被打开的文件名 > flags:指定使用什么方式打开指定的
more...