优雅地使用Qt创建新线程
Qt作为一个优秀的跨平台开发框架,对于多线程的支持必然要非常的优雅~本篇文章就来探讨如何利用Qt创建新的子线程。
关于多线程的有点我就不赘述了,如需了解,善用百度~
本文根据B站黑马程序员的课程,再加上自己的一丢丢理解而写的。
Qt4线程的创建与使用
在Qt4的时代(我莫得经历过,因为Qt4是十几年前发布的,其中的某些思想肯定跟不上目前的发展,但是Qt5依然兼容Qt4的多线程模式),如果我们想要创建一个线程,我们只需新建一个类MyThread并继承于QThread,并重写QThread类的虚函数void run()。当我们需要创建进程的时候,只需声明一个MyThread对象,然后调用MyThread::start()即开启了一个新线程。
例:
123456789#include <QThread>class MyThread: public QThread{public: MyThread();protected: void run(); //重载父类虚函数}
12345678910111213141516MyThread::MyThrea ...
常用三角函数备忘录
最近复习考研数学中,经常遇到三角函数的换算,有难有易,为了备忘,还是将其进行归纳总结一下吧,到时候查阅也方便一些。
基本公式
secα=1cosα\sec \alpha = \frac{1}{\cos \alpha}secα=cosα1
cscα=1sinα\csc \alpha = \frac{1}{\sin\alpha}cscα=sinα1
和差角公式
cos(α+β)=cosα⋅cosβ−sinα⋅sinβ\cos(α+β)=\cosα·\cosβ-\sinα·\sinβcos(α+β)=cosα⋅cosβ−sinα⋅sinβ
cos(α−β)=cosα⋅cosβ+sinα⋅sinβ\cos(α-β)=\cosα·\cosβ+\sinα·\sinβcos(α−β)=cosα⋅cosβ+sinα⋅sinβ
sin(α±β)=sinα⋅cosβ±cosα⋅sinβ\sin(α±β)=\sinα·\cosβ±\cosα·\sinβsin(α±β)=sinα⋅cosβ±cosα⋅sinβ
tan(α+β)=tanα+tanβ1−tanα ...
Vercel绑定个人域名
之前我们将Github Pages部署到Vercel上面,充分享受了Vercel在国内高速的解析速度,接下来我们将自己的域名绑定到Vercel,这样我们就能省下一笔不小的服务器开销😁
购买自己的域名
第一步当然是购买自己的域名,要不然咋绑定?
我的域名是在腾讯云购买的,下面推荐一些域名代理商,其实在哪一家买都一样,无非就是价格和服务不同。
国内:腾讯云、阿里云域名、西部数码、百度智能云
国外:Namesilo、Godaddy
国内申请域名需要实名注册,根据注册平台提示走就行
配置Vercel项目
进入Vercel面板,找到你想绑定域名的项目,点击上面菜单栏的Domain
点击Add
选择你想要绑定的项目,这里我选择我的项目
然后点击Continue,输入你申请的域名,然后添加即可
这里只需要输入域名+后缀,即aymetic.com即可,不需要www和https
然后我们就可以看到域名已经添加入我们的项目,接下来我们需要将DNS解析到Vercel的服务器即可~
配置DNS
配置完项目后就开始配置域名解析,由于我是用腾讯云申请的,故在此以腾讯云操作做展示,其余平台大同小异。
...
使用MSVC2019静态编译生成Qt库
最近Qt发布了最新版的5.15.3版本,可惜只对商业用户发布,5.15再无社区版本的更新,而5.15.2的bug补丁将会合并进Qt6版本。这将是一个漫长的过程,且目前Qt6并不稳定(完善),且我并没有在5.15.2版本上遇到什么bug(可能是我太菜了),所以目前我们可以使用这个版本作为主力版本。
其次呢,Qt官方只提供了动态库版本,也就是说我们编译出来的可执行程序必须要和dll文件放在一起才能够运行。有没有一种办法可以将动态库合并进可执行程序?答案是我们自己编译静态库版本。
可供编译的工具有MSVC和MinGW
注意:MSVC和MinGW编译出来的库并不能混用,必报错,平常用啥编译器就用啥来编译源代码
前期准备
下载源码
Qt官方为我们提供了源码,我们需要把源码下载下来
Qt官方地址
清华大学镜像地址
国内推荐清华大学镜像吧,基本跑满宽带
安装必备软件
点击下载Perl(可能需要登录)
点击下载Ruby
点击下载Jom(多核编译必备,若想龟速编译或者编译Qt6版本不需要下载)
不需要安装Python2,因为python2是为了编译webengine模块,但是这个模块不支持静 ...
基于Qt开发的天气预报软件
使用Qt库和C++开发的天气查询软件,用到了网络请求以及json解析
基于Qt和Windows开发的鼠标录制软件
本程序基于Qt和Windows钩子开发的鼠标录制软件,现在已有连击模式以及录制脚本模式,且使用了多线程模式,所有操作均在子线程完成。
C++实现的几种斐波那契数列算法
作为算法课的练手项目,斐波那契数列的生成再合适不过了。最重要的就是蛮力法,可以拿来求解斐波那契数列并可以进一步的优化求解。
经典的迭代和递归
斐波那契数列有关十分明显的特点,那是:前面相邻两项之和,构成了后一项。即F(n)=F(n−1)+F(n−2),F(0)=0,F(1)=F(2)=1F(n)=F(n-1)+F(n-2), F(0)=0, F(1)=F(2)=1F(n)=F(n−1)+F(n−2),F(0)=0,F(1)=F(2)=1, 推导下去F(3)=2,F(4)=3,F(5)=5...F(3)=2, F(4)=3, F(5)=5...F(3)=2,F(4)=3,F(5)=5...由此可以很容易得到下面的代码:
123456789101112131415161718192021//递归算法int Recursion(int n){ if (n <= 1) return n; return Recursion(n - 1) + Recursion(n - 2);}//迭代算法int Iteration(int n){ ...
郑州之旅
记不清哪天开始讨论去郑州的了。从等待火车票开售到等待见面后的激动,中间不知经历了多少个难熬的夜晚。但是!这一天终于快到了,老规矩,先上倒计时!
目前我们的旅行计划如下:
去动物园耍一耍
去电影院看《唐人街探案3》
去郑州嵩山少林寺
去商场逛街
去
待更新~
2021年2月8日总结
ecc9edad14c3285aea2485150bb2aad0af9957d7882f84fb1d3161db0ce40529699f22effad59aaeb46729ef607460abd0be3a68220867e68aa58a2a70ff0aff306d1d2f8a0942a1088ae463cc9bc53687c6574aec7a60e503998b82b82b635ec28fa35346fa1cf6c0fe248ea971402da4a6670b080418ae13717fe872f368d6b4630d6a42c83c86539be75a3cf47c36bfa8981131f806c39fc4e4e67bd332bf7325706a836a775c98b53b3ea7c0af048ada5febcd75fab2f83279c4161f5809dbc07ff5276f889d74160b8f22ee0c38a601749fd50c653eb5a6f3393b39aa75d45c4ffaad5f3e4e3e2c1601179a26476c44673b808f93e9a ...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick Start
Create a new post
1$ hexo new "My New Post"
More info: Writing
Run server
1$ hexo server
More info: Server
Generate static files
1$ hexo generate
More info: Generating
Deploy to remote sites
1$ hexo deploy
More info: Deployment