emit和connect的顺序问题
问题下述代码,无论如何都进不到槽函数MonoCalibrate::calibrate里面
1234567QThread *caliThread = new QThread(this);MonoCalibrate *monocali = new MonoCalibrate(m_res_ckbd);monocali->moveToThread(caliThread);caliThread->start();emit monocali->startCalibration();connect(monocali,&MonoCalibrate::startCalibration,monocali,&MonoCalibrate::calibrate);
解决需要先连接(connect)再发射信号(emit):
在连接信号和槽函数之前就发出了信号,将导致信号连接无效,因为在连接之前,没有接收槽函数的对象。
为了解决这个问题,可以将信号发出的代码移到连接之后。这样,当信号被发出时,槽函数已经连接并准备好执行
1234567891011qDebug() << ...
hexo在butterfly/next主题下代码块缩进问题
问题遇到了一个问题:hexo的butterfly、next主题下,代码块缩进特别大。
对比发现,当缩进为一个tab时才会出现问题。当缩进为4个空格时,则表现正常。
原因hexo的next主题(v 8.5)编译之后代码块缩进特别大,怎么调整? - Mr.J的回答 - 知乎
文中说,
可能原因,你缩进使用了tab,在HTML下,默认等于8个空格,建议修改为空格缩进,或者修改tab-size属性
把vscode的缩进改成空格就好了。
可是,我的文章已经写了上万字,逐个修改显然不可能实现。
解决办法hexo根目录/_config.yml第50行(若没改过的话),tab_replace改为四个空格,如下:
123456highlight: line_number: true auto_detect: false tab_replace: ' ' wrap: true hljs: false
问题解决。
C++ Primer
前言
固然,轻薄短小的书籍乍见之下让所有读者心情轻松,但如果舍弃太多应该深入的地方不谈,也难免令人行止失据,进退两难。
……
作为一个好的学习者,背景不是重点,重要的是,你是否具备正确的学习态度。起步固然可从轻松小品开始,但如果碰上大部头巨著就退避三舍、逃之夭夭,面对任何技术只求快餐速成,学语言却从来不写程序,那就绝对没有成为高手乃至专家的一天。
有些人的学习,自练就一身钢筋铁骨,可以在热带丛林中披荆斩棘,在莽莽草原中追奔逐北。有些人的学习,既未习惯大部头书,也未习惯严谨格调,更未习惯自修勤学,是温室里的一朵花,没有自立自强的本钱。
——《Essential C++》前言,侯捷
参考资料[1] C++ 标准库参考 (STL)—Microsoft
[2] cplusplus.com
[3] stl—wiki
[4] C++语法教程 (bobokick.github.io)
------C++ 基础------
二 变量和基本类型2.1 基本内置类型2.1.1 变量类型的大小下图列出了各类型的最小尺寸。
2.1.2 符号
整型
int:正数、负数和0
usigned int: ...
git基本操作
目录
基本配置
建立本地仓库
推送到远程仓库
1 基本配置1.1 配置基本信息12git config --global user.name “itcast”git config --global user.email “hello@itcast.cn”
1.2 查看配置信息12git config --global user.namegit config --globa user.email
1.3 设置常用指令别名
打开用户目录,创建 .bashrc 文件 部分windows系统不允许用户创建点号开头的文件,可以打开gitBash,执行 touch ~/.bashrc
在 .bashrc 文件中输入如下内容:
1234#用于输出git提交日志 alias git-log='git log --pretty=oneline --all --graph --abbrev-commit' #用于输出当前目录所有文件及基本信息 alias ll='ls -al'
打开gitBash,执行 source ~/.bashrc
1.4 解决Gi ...
hoxe+github建站笔记
1.前言在ubuntu上利用hexo+github建站网上有很多博文,但是由于时效原因,24年1月2日配置的时候遇到一些问题。遂本文对于细节不提而用步骤带过,主要汇总一下利用hexo中文官网文档安装遇到的问题,需要有一丢丢linux基础。
2.开胃菜
安装 Hexo 相当简单,只需要先安装下列应用程序即可:
Node.js (Node.js 版本需不低于 10.13,建议使用 Node.js 12.0 及以上版本)
Git
2.1安装git1sudo apt install git
2.2安装node.js
摘自 NodeSource
Download and import the Nodesource GPG key
1234sudo apt-get updatesudo apt-get install -y ca-certificates curl gnupgsudo mkdir -p /etc/apt/keyringscurl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo ...
相机旋转矩阵相关
综述
写论文时一些旋转矩阵的问题没有搞懂,问了问chat gpt,将其回答记录如下。
插件问题导致第一次加载网页时,公式没法正常显示,刷新一下即可。
旋转矩阵简述旋转矩阵是一个3x3的矩阵,通常表示三维空间中的旋转变换。其9个元素分别代表了旋转矩阵的三列向量。具体而言,假设旋转矩阵为:
R = \begin{bmatrix}
r_{11} & r_{12} & r_{13} \\
r_{21} & r_{22} & r_{23} \\
r_{31} & r_{32} & r_{33}
\end{bmatrix}其中,$r_{ij}$表示矩阵中第i行第j列的元素。这些元素可以按列或按行解释,一般来说:
第一列 $(r{11},r{21},r_{31})$表示X轴的旋转方向;
第二列$(r{12}, r{22}, r_{32})$表示Y轴的旋转方向;
第三列$(r{13}, r{23}, r_{33})$表示Z轴的旋转方向。
这样,每一列就代表了旋转后X、Y、Z轴在原坐标系中的方向。这也意味着,一个向量在经过该旋转矩阵变换后,其坐标将由原来的坐标系变换到新的坐标系。
旋转矩阵如 ...
cmake包含vslam常用库
1234567891011121314151617181920212223242526272829303132333435363738394041cmake_minimum_required(VERSION 3.20)project(6)set(CMAKE_CXX_STANDARD 23) # OpenCVfind_package(OpenCV REQUIRED)include_directories(${OpenCV_INCLUDE_DIRS}) # Eigenfind_package(Eigen3 REQUIRED)include_directories(${EIGEN3_INCLUDE_DIR}) # Pangolinfind_package(Pangolin REQUIRED)include_directories(${Pangolin_INCLUDE_DIRS}) # Sophusfind_package(Sophus REQUIRED)include_directories(${Sophus_INCLUD ...
cmake+mingw32+win11+clion编译OpenCV4.5+contrib
step1 准备必要环境注意:以下软件的安装路径中不要有中文或空格!(尤其是mingw32)
安装cmake(不要安装最新的CMake,最好差3个版本以下)添加到环境变量:默认安装环境:
安装mingw32:在mingw32下载处下载x86_64-posix-seh版本;将bin文件夹路径添加至环境变量,cmd中输入g++ --version查看是否成功
安装python3:
123#pip install boost(3.10.5出错)pip install cmakepip install dlib
安装visual studio
step2 下载opencv下载地址:opencv 下载sources;contrib
将contrib文件夹移动到opencv文件夹下
在opencv文件夹中新建build文件夹
step3 第一次编译
注意网络问题(只可意会不可言传)
打开cmake gui
where is the sources code:填写opencv路径
where to build the binarise:填写自己创建的build的地址
按钮:con ...
孙鑫VC++深入详解
第一章 Windows程序内部运行机制1.1 API和SDK
API:Windows操作系统提供给应用程序编程的接口。
SDK(软件开发包):用于开发的所有资源的集合。
1.2 窗口和句柄
窗口
句柄:系统在创建资源时会为他们分配内存,并返回这些资源的标识号,即句柄。(类似于指针)窗口句柄(HWND)、图标(HICON)、光标(HCURSOR)、画刷(HBRUSH)
1.3 消息和队列消息(先进先出)
12345678typedef struct tagMSG { HWND hwnd; //HWND:窗口变量,hwnd:消息所属的窗口 UINT message; //message消息标识符,数值定义为WM_XXX (P4) WPARAM wParam; LPARAM lParam; //指定消息的附加信息,ASCII等 DWORD time; //消息投递到消息队列中的时间 POINT pt; //当前鼠标的位置} MSG, *PM ...