- 博客(25)
- 收藏
- 关注
原创 QT当中C++和QML的类型转换
最近公司使用了QML进行界面开发,开发界面确实很高效,而且QML对于触屏、动画的开发尤其友好,用我同事的话说,就是同样是画个矩形,填个颜色,QT需要实例化QPainter,之后画矩形,然后设置画笔,画刷,最后填颜色,QML直接一个Rectangle,甩你18条街。但是QML也有不好用的地方,就是QML做界面是好做,各种底层功能的支持还是需要使用C++,这就带来了QML和C++的交互问题。
2024-01-14 21:18:25
1128
原创 Ubuntu下安装FTP服务器及客户端
安装完成之后,vsftpd会自动在后台以守护进程的方式启动。通过配置文件可以配置 是否允许匿名用户登录,用户允许访问的根目录是哪以及一些上传、下载权限的限制。lftp的命令和Linux命令非常像,常用的命令包括: cd 切换到指定目录, ls 罗列文件夹下所有的文件,get fileName 获取某个文件,put fileName 上传某个文件等;FTP,全称为 FIle Transfer Protocol, 是一个基于TCP/IP传输层协议的基础上,实现的一套应用层协议,主要用于文件传输。
2023-04-17 21:18:59
2442
原创 Qt下的多线程的使用
Qt中关于多线程的类为QThread,有三种使用方法:一种方法是通过一个类继承QThread类,同时重写Thread::run()函数;第二种是直接实例化一个QThread,之后将继承自QObject的对象,通过QOjbect::moveToThread()搬到之前实例化的QThread执行;最后一种是通过直接将一个函数搬到QThread中执行,有点类似于pthread_create()的方式。
2022-08-21 22:58:08
1542
原创 Linux简明教程-进程通信
9 进程间通信9.1 绪论进程间通信(interprocess communication,简称IPC),Linux环境下进程空间相互独立,每个进程都有各自不同用户的地址空间,任何一个进程的全局变量在另外一个进程都看不到,所以进程之间不能相互访问,想要交换数据必须通过内核,在内核中将进程1把数据从用户空间拷贝到用户缓冲区,进程2再从用户缓冲区将数据拷贝走,内核提供的这种通信叫做IPC。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8Ob77hxm-16425994326
2022-01-19 21:37:30
579
原创 简明Linux教程-Linux下的进程
8 进程8.1 程序/进程/CPU相关程序:死的,只占用磁盘空间; ----剧本进程:活的,运行起来的程序,占用内存/CPU等资源 ----演出一个进程可以同时在多处进行运行;并发:在操作系统中,一个时间段中由多个进程都处于已启动运行到运行完毕之后的状态;但同一个时刻点只有一个进行在运行;单道程序设计(串行)/多道程序设计(并行)多道程序设计必须由硬件设计基础作为保证CPU的量级是ns级的,时钟中断即为多道程序设计模型的基础;存储介质,越往下,速度越慢,容量越大。一个寄存器,
2022-01-19 21:35:52
376
原创 简明Linux教程-Linux下目录操作
7 Linux系统编程-目录操作7.1 文件目录比较和rwx差异获取进程当前工作目录:卷3 标准库函数char *getcwd(char *buf, size_t size) 成功将buf保存当前进程工作目录的位置,失败将返回NULL改变当前进程工作目录:int chdir(const char *path); 成功:0 失败:-1设置errno的值文件/目录权限文件的内容是写到文件的内容,目录的内容是目录项rwx文件文件内容可以被查看 cat more less
2022-01-19 21:33:28
625
原创 简明Linux-Linux下的文件操作(2)
1 lseek函数函数:off_t lseek(int fd, off_t offset, int whence)头文件:#include <unistd.h> #include <sys/types.h>参数:fd 文件描述符offset 偏移量,可以为正,也可以为负数whence 偏移的起始位置,由三种可以设置SEEK_SET #开头位置 The file offset is set to offset bytes.SEEK_CUR #光标所在位
2022-01-19 21:32:07
1041
原创 makefile 简明教程
5 Makefile项目管理脚本文件:把一系列命令放在一个文件中,批量执行命名:makefile Makefile一个规则: 目标:依赖条件 命令(命令前是1个table缩进)两个函数:#wildcard函数,配合通配符找出文件夹中所有 .c文件src=$(wildcard ./*.c) #将所有的.c的文件的后缀更换成.oobj=$(patsubst %.c,%.o,$(src))三个自动变量:三个自动变量只能用于命令行当中,不能用于目标和依赖条件!!!$
2022-01-11 08:37:33
1709
原创 C/C++中静态变量
C/C++中的静态变量1. 静态全局变量2.静态局部变量3. 静态函数4.类内静态成员变量5. 类内静态局部变量6.类内静态函数C语言中与“静态”相关的词包括,静态全局变量,静态局部变量和静态函数,关键词是static。C语言中的变量从作用域分,可以分为全局变量和局部变量;从存储方式分,可以分为静态存储方式和动态存储方式。需要区分的概念是,全局变量是存储在静态存储区的,所谓的静态存储区是一个进程所分配内存的.bss和.data段,但全局变量不是并不是静态变量。1. 静态全局变量下面代码中的a属于全局
2022-01-10 23:36:54
13435
2
原创 Linux下的gdb调试C或者C++程序
GDB调试提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录GDB调试1 GDB调试的基础指令2 GDB调试的辅助指令3 GDB调试的常见错误1 GDB调试的基础指令使用gdb调试下面的一段c程序:#include <stdio.h>#include <stdlib.h>#define N 10//使用1~20的随机数初始化数组void init_arr(int* arr, int n){ for(int i=0;i<n
2022-01-05 19:29:23
1532
原创 简明Linux-Linux下GCC编译C程序(g++编译c++类似)
GCC编译步骤简介1 GCC编译四步骤2 GCC编译选项3 静态库和共享库3.1 静态库生成及使用3.2 动态库生成及使用3.3**数据段合并和地址回填**1.4 注意事项1 GCC编译四步骤GCC编译可执行程序四步骤:预处理 编译 汇编 链接hello.c>>>>hello.i>>>>>hello.s>>>>>>hello.o预处理:展开宏/头文件 替换条件编译 删除注释/空行/空白 gcc -E -o he
2022-01-05 19:10:47
4313
原创 1.mySQL查询语言
1.SQL查询语言1.1 基础查询语法#进阶1:基础查询#语法: select 查询列表 from 表名/*1.查询列表可以是表中的字段,常量值,表达值和函数;2.查询结果是一个虚拟的表格;3.查询之前,先使用use命令打开一个指定的数据库;4.使用``区别是查询字段还是关键字;5.执行命令需要选中该条命令,或者鼠标放在其上;*/#占到整个sql语言比重的80%以上#1.查询表中的单个字段SELECT last_name FROM employees;#2.查询表中的多个字段S
2021-09-20 22:20:23
188
原创 QT5笔记3 QT GUI基础和窗口布局
文章目录前言一、QT中QWidget,QMainWindow和QDialog介绍二、QT中的布局总结前言QT主要是用于构建GUI程序的,所以了解QT基本的一些GUI组件及其构成原理非常重要。一、QT中QWidget,QMainWindow和QDialog介绍在我们使用QtCreator创建GUI工程的时候,一般会让我们从QWidget,QMainWindow和QDialog中选取一个主窗口。在QT中的GUI部件,遵循着非常严格的继承关系,这也是我们需要向QT学习的重要部分,即如何使用利用C++
2021-08-30 22:20:41
903
原创 QT5笔记2 QT文件结构介绍
文章目录前言一、QT的文件结构二、使用步骤1. .pro文件2. .ui文件介绍3. .h和.cpp文件总结前言本文主要介绍Qt的文件结构和组成,以及各个文件的作用。一、QT的文件结构Qt的文件结构见于软件的左侧,其中 .pro文件是项目的工程工程文件,主要存放着一些项目信息;.h文件是C++程序的头文件,.cpp文件是项目的程序文件,.ui文件是使用Qt设计师设计的界面文件。二、使用步骤文件和.cpp文件与普通C++程序中的文件作用相同,主要介绍设计的MOC编译器,其它主要介绍.
2021-08-29 22:43:57
2013
原创 QT5笔记1 QT的简介,下载和Hello Qt
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、QT是什么?二、环境搭建三、创建Hello qt总结前言Cross-platform software.One framework. One codebase. Any platform.一、QT是什么?QT是由奇趣公司开发一套用于制作GUI应用的,主要基于C++的,跨平台框架,QT支持的使用平台包括Windows,Linux,MacOS,Android和一些嵌入式系统中。所以QT官网对于QT的总结是
2021-08-29 22:08:12
278
原创 Linux常用命令介绍
Linux常用命令介绍which用于查看命令所在的路径,例如输入:daniel@daniel-Vostro-5471:/dev$ which ls/bin/lspwd 查看当前目录mkdir [dir] 创建目录rmdir [dir] 删除空目录rm -r dir 使用递归删除目录cp file file2 拷贝命令 cp -a dir1 dir2 拷贝文件夹cp -r dir1 dir2 递归拷贝cat file 读文件tac file 倒序读文件mor
2021-05-04 16:46:50
180
原创 Leecode第5题:最长回文子串——动态规划法
在《算法图解》中看到动态规划算法,一直没有进行练习,今天恰好在Leecode刷到本题,可以用动态规划求解。动态规划法解决的问题一般是各种各样从表面上需要全部枚举各种情况的问题,其核心是通过把大问题分解成子问题,从而减小计算量。比如本题中的状态转移方程。状态规划法的时间复杂度一般为O(n2)。代码和解题用的图如下。/***** Leecode Q5:最长回文子串 *****//***** Author:Daniel *****//***** Algorith:动态规划
2021-03-01 16:45:17
197
原创 Typedef在C和C++中的使用
typedef关键字用于给变量起一个别名,今天让我来看下一如何利用typedef关键字,在c和c++中给结构起一个别名。下面片段是c语言中的写法。可见在c中给结构体起的别名在结构最后,在main函数中的person p1和我们最原始的写法 struct Person p1等效。#include <stdio.h>typedef struct Person{ char* name; int age; int salary;} person;int main(void){ pe
2021-01-04 10:21:07
2665
原创 C,C++中如何向main(int argc , char argv[])传递参数
C,C++中如何向main(int argc , char *argv[])传递参数1.引言 在编写C语言程序中,main函数入口常用的编写格式为,这个也是我们最常用到的格式int main(){.....return 0;} 本菜鸡在做项目过程中,用到了一中带参数的main函数,此篇文章进行解析。2.一个最简单的例子 操作系统:Win 10,IDE:VS2019 首先看一段最简单的代码:#include <stdio.h>in
2020-12-24 12:57:10
2337
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人