- 博客(131)
- 资源 (18)
- 问答 (1)
- 收藏
- 关注
原创 Linux docker离线部署
Docker下载地址:https://mirrors.dahuatech.com/docker-ce/。本文下载当前最新版本,链接如下:https://mirrors.dahuatech.com/docker-ce/linux/static/stable/aarch64/docker-27.4.0.tgz。然后执行docker –v就可以开看到dockers版本了,运行docker ps就可以看到docker已经运行成功。
2024-12-18 17:26:08
884
原创 浅谈C++11里面的模板(参数是函数)
这里借助了bind函数将函数和参数绑定起来存储(bind函数的返回值就是function类型,而且如果要运行bind的值,只需要在表达式后面加括号即可),如果直接在类中存储模板变量会报错(是否有办法不报错,现在不清楚)。函数模板Call函数支持有返回值和无返回值两种,参数是变长的,甚至参数类型可以不一样。运行结果是一样的,这里如果用auto替换function,则代码会更简单。
2023-04-10 21:06:13
365
原创 Linux编译cpprestsdk库
因为boost和openssl库都是静态编译的,所以编译命令不需要跟boost和openssl(备注:运行的时候,会提示找不到libcpprest.so.2.10,这里需要临时设置一下环境变量:export LD_LIBRARY_PATH=实际目录)。注意,这里第一行是将警告视为错误关闭,避免编译报错,后两行是去掉zlib依赖,如果系统上有zlib或者单独编译了zlib库,这两行可以不修改。这里默认iOS和Android是静态编译,其他都是动态编译,不启用其他平台的动态编译即可。
2023-03-25 20:32:24
1870
原创 Win11和Ubuntu22.04互传文件
首先新版本Ubuntu不能再使用VM提供的VMware tools了,安装会报错,这里需要直接在控制台中安装相关组件。这里看到这个手势已经是可用的样子,不是禁用样式,就表明文件能拖进Ubuntu系统了。同样拖出来也是可行的。本文记录一下自己在Win11上安装VM虚拟机安装最新Ubuntu22.04后不能互相拖拽文件问题。
2023-03-20 22:04:38
2525
6
原创 关于Qt::WA_TransparentForMouseEvents的一些记录
关于Qt::WA_TransparentForMouseEvents这个Qt属性设置在本类上不起作用的一些记录。
2022-06-11 10:59:11
956
原创 Win32窗口和Qt窗口部分透明实现
在项目开发中遇到这样的需求:就是要求整个窗口不透明,但是其中某个区域透明(如果是窗口全透明,那比较简单,如果是窗口四周透明,也比较简单,但是要求窗口中间某个区域透明,这就有点麻烦了),下面分别记录Win32窗口和Qt窗口实现不透明窗口中间某个区域透明的方法,其实都比较简单。首先说Win32窗口,效果图如下所示:废话不多说,直接上代码:LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam){
2022-05-16 20:42:51
1192
原创 function create_hypertable(unknown, unknown) does not exist
今天在玩儿时序数据库TimescaleDB时,发现创建hypertable会发生错误,具体如下所示:ERROR] function create_hypertable(unknown, unknown) does not existLINE 1: SELECT create_hypertable('temp_table1', 'time') ^HINT: No function matches the given name and argument types. You
2022-05-12 19:15:05
2172
1
原创 QML实现动态时间的炫酷效果(类似八卦图)
废话不多说,先看效果:整个工程全用QML代码实现,内部实现定时器,并且定义动画效果,完整源码如下所示(有完整的注释):import QtQuick 2.0import QtQuick.Controls 2.15import QtQuick.Layouts 1.15/*实现原理:实际上圆形区域是默认构造出来的三个Rectangle 每个Rectangle中是一堆Text每次触发定时器时 都是旋转Rectangle实现时间走动*///根节点设置为Rectangle是因为可以设置colo
2022-04-23 21:05:20
1332
1
原创 Qt6中加载自定义qml遇到的问题
前言:可能在Qt5.x版本里面也有这样的问题,只是最近学习QML,就想着用最新的Qt写代码,于是乎就遇到了问题。在Qt6中创建完成QML项目后,main.cpp里面默认是下面这样的:#include <QGuiApplication>#include <QQmlApplicationEngine>int main(int argc, char *argv[]){ QGuiApplication app(argc, argv); QQmlApplicati
2022-04-23 18:38:55
6232
1
原创 QML中Button下的style属性报错
在学习安晓辉大佬的《Qt Quick核心编程》时,照着大佬写的书上的代码敲,但是因为用的Qt版本不一样,所以代码中import部分的版本不一样,在搞Button时,如下代码:import QtQuick 2.12import QtQuick.Window 2.14import QtQuick.Controls 2.14import QtQuick.Controls.Styles 1.4Window { visible: true width: 640 height: 48
2022-04-05 10:17:25
1165
原创 QLabel前面加个*号的简单方法
如下图所示,要在QLabel的文字前面加上一个红色的*号,其实方法很多,这里提供一个个人认为比较简单的方法:这个方法中实际上是有点投机取巧的成分在里面,实现代码如下所示: lab->setText(QString("<font color = red>*</font>").append(tr("test label")));直接将*用html的语法包裹起来即可,这里需要验证两个问题:①翻译是否会对星号有影响;②qss是否会对星号有影响。针对抵押给问题,实验结果
2022-04-02 20:15:55
1294
原创 在QLineEdit右侧加上按钮的实现方法
方法一:直接在编辑框中加上按钮,代码如下所示:QLineEdit *edit =new QLineEdit(this);QPushButton *btn=new QPushButton(edit);btn->setText(".......");btn->setCursor(Qt::ArrowCursor);QWidgetAction* action = new QWidgetAction(edit);action->setDefaultWidget(btn);edit-&g
2022-03-28 20:00:45
4025
3
原创 Qt仿iOS的Switch开关实现
最近因为在玩iOS手机,突然觉得人家的开关就是很好看,于是乎自己花了点时间写了一下,下面是效果图,代码中没有使用定时器,而是直接用的属性动画,并且支持横向和竖向动态缩放。实现代码如下:Switch.h#ifndef WIDGET_H#define WIDGET_H#include <QVariant>#include <QWidget>enum class AnimationType{ NoAnimation, //没有动画 PropertyAn
2022-03-26 22:04:01
2217
原创 记录一个Kivy在windows上打包的问题
在windows上打包一般都是用pyinstaller -F -w main.py命令打包的,但是遇到如下两个库不存在导致打包失败: ①第一个错误:“picamera - ModuleNotFoundError: No module named ‘picamera’”,这个错误说的是没有picamera这个库,网上说使用pip安装这个库:“pip install --user picamera”,但是并没有用,这个库是安装不上的。而真正的能解决这个问题的命令是: pip install op
2021-11-30 20:03:54
1051
原创 Python下8个比较常用的GUI库介绍
本文中主要记录几个在Python下常用的GUI库,有些库介绍后面会跟上一个简单的使用方法的链接,一方面是为自己做一个总结记录,一方面是希望能帮到需要的人。 这8个GUI库的目录如下所示,这里没有前后之分,我最常用的是pyqt,并且用pyqt开发过大型项目,如果只是做一个小工具什么的,用tkinter即可。 1.kivy 2.flexx 3.pyqt 4.wxpython 5.tkinter 6.pywin32 7.pygtk 8.pyu
2021-10-06 09:56:02
2903
原创 Python配置web.py及简单使用
一、安装web.py 本文这里直接是在Pycharm上安装的web.py框架, 在终端上,执行如下命令,安装web.py:pip install web.py安装非常快,web.py安装有依赖部分三方库,在执行上面命令的时候,会一并安装,安装完成后会有Successfully installed字样输出,如下所示:二、简单使用web.py 直接上一个简单代码,如下所示:# coding = utf-8import weburls = ('/', 'hello')app = we
2021-10-05 17:39:04
1470
原创 Python配置Bottle及简单使用
一、安装Bottle 本文这里直接是在Pycharm上安装的Bottle框架, 在终端上,执行如下命令,安装Bottle:pip install bottle安装非常快,安装完成后会有Successfully installed字样输出,如下所示:二、简单使用 直接上一个代码:# coding = utf-8from bottle import Bottle, runapp = Bottle()@app.route('/hello')def hello(): ret
2021-10-04 16:33:19
1816
原创 Python配置Tornado及简单使用
一、安装Tornado 本文这里直接是在Pycharm上安装的FastApi框架, 在终端上,执行如下命令,安装Tornado:pip install tornado 安装非常快,安装完成后会有Successfully installed字样输出,如下所示:二、简单使用Tornado 直接上代码,如下所示:# coding = utf-8from typing import Optional, Awaitableimport tornado.webimport tornado.
2021-10-03 10:11:50
1243
原创 Python界面开发之Tkinter安装及简单使用
一、Tkinter介绍 Python中自带了这个,安装python后,就可以使用这个ui库,tkinter是python的标准GUI界面库,介绍这个库,主要有几点原因:一是这个库是python自带的,安装即可使用。二是这个库使用起来相对还是比较简单的(当然相对于开发复杂界面这个库有点吃力,因为要自己手写布局代码等)。 在工作中,python主要是用来写一下脚本,写一下后台应用程序,偶尔用来做一个小工具(当然用pyqt可以做很复杂的界面,但是做小工具,用qt就有点杀鸡用牛刀的感觉了)。二、入门案例
2021-10-02 23:07:48
12514
原创 Python杀死Windows进程
①批量杀死同一个进程:cmd = 'taskkill /F /IM ' + 进程名称os.system(cmd)②通过PID杀死某一个进程:cmd = 'taskkill /f /pid ' + PID值os.system(cmd)①查询所有PID:list_process = list()pid_list = psutil.pids()for sub_pid in pid_list: try: process_info = psutil.Process(su
2021-09-28 11:19:43
1458
1
原创 Python界面开发之PyQt配置安装
一、配置环境 本文采用的是Pycharm开发Python的,Python用的是v3.9版本。 首先在Pycharm的终端上输入如下命令安装PyQt:pip install pyqt5 pyqt5-tools 安装完成会有“Successfully installed”字样输出,如下所示: 也可以从PYPI上下载安装。 这里可以简单测试一下是否安装成功且可用,如下代码:import sysfrom PyQt5 import QtWidgetsapp = QtWidgets.Q
2021-09-26 21:57:45
1042
原创 Python配置FatApi及简单使用
一、安装FastApi 本文这里直接是在Pycharm上安装的FastApi框架, 在终端上,执行如下命令,安装Flask:pip install fastapipip install uvicorn 因为FastApi需要用uv驱动,所以安装了uvicorn插件。安装成功后,会有Successfully installed字样输出,如下所示:二、简单使用FastApi 代码如下所示:import uvicornfrom fastapi import FastAPIapp =
2021-09-25 15:40:51
475
原创 Python配置Flask及简单使用
一、安装Flask 本文这里直接是在Pycharm上安装的Flask框架, 在终端上,执行如下命令,安装Flask:pip install Flask 安装成功后,会有Successfully installed字样输出,如下所示:二、创建一个简单示例 代码如下所示:# coding = urf-8from flask import Flaskapp = Flask(__name__)app.debug=True@app.route('/')def hello_worl
2021-09-23 21:45:57
463
原创 Python下流行的二十多个Web框架简介
一、前言 本文主要简单记录一下目前Python下比较流行的Web框架,各个框架的使用安装将在其他文章中说明(文中可以跳转)其实,各个框架都有各自的优势,并没有绝对的优良,只有最适合自己项目的,比如有些适合没有网页的web服务,提供restful接口,有些有网页渲染的web服务。 文中涉及到的框架有如下(顺序没有好坏之分,只是记录的时候是这样的顺序): 1.Django 2.Tornado 3.Flask 4.Twisted 5.Pylons 6.Bot
2021-09-23 18:58:58
262
原创 Python配置Django及简单使用
一、安装Django 本文这里直接是在Pycharm上安装的django框架, 在终端上,执行如下命令,安装django:pip install django 安装成功后,会有Successfully installed字样输出,如下所示: 然后可以在pycharm里面写如下代码,测试并查看django的版本,如下:import djangoversion = django.get_version()print(version) 这里我在print这行打个断点,可以看到vers
2021-09-22 22:03:34
398
原创 Unbutn中Mosquitto配置TLS
一、环境准备 本文用的Unbutn桌面版,默认就自带了OpenSSL,但是为了要编译mosquitto源码,所以还是老实用源码编译OpenSSL,关于OpenSSL的编译、mosquitto的编译、mosquitto配置局域网和mosquitto配置用户名密码在本专栏其他文章中已经有介绍,这里不再赘述,直接假设已经配置好openssl,mosquitto已经配置局网权限且已经配置用户名和密码。 关于生成OpenSSL证书的方法,该专栏里面也有相关步骤说明,这里假设已经生成证书文件,并且已经到指定的位
2021-09-21 15:24:23
343
原创 在Unbuntu上生成OpenSSL证书
一、环境准备 本文用的Unbutn桌面版,默认就自带了OpenSSL,所以这里不用下载openssl源码编译安装,直接就可以用,如果电脑上没有OpenSSL,可以参考本专栏中其他相关文章的步骤,这里不再赘述。二、生成OpenSSL证书 ①生成根证书:openssl req -new -x509 -days 365 -extensions v3_ca -keyout ca.key -out ca.crt 执行结果如下所示: 详细配置如下所示:# PEM pass phrase: 2
2021-09-21 14:50:30
615
原创 Python使用paho.mqtt连接Mosquitto
一、环境准备 本文用的是Pycharm集成IDE,python用的是v3.9版本。另外mqtt需要自行安装,在IDE的下面的“终端”输入如下命令:pip install paho-mqtt 结果如下所示: 如果电脑不方便上外网,比如在服务器上,那么可以在有外网的电脑上下载这个库到服务器上安装,或者是在外网机器上安装好,然后复制整个python的安装目录(主要是复制site-packages文件夹)到服务器上即可,这里不再赘述。二、简单测试代码 话不多说,先上一个简单的框架,再解释每
2021-09-21 10:14:25
964
原创 Windows上配置Mosquitto
一、下载资源 本文记录的是Windows系统上简单部署Mosquitto的方法,这里只是部署服务,使得本机可以测试使用,如果需要配置用户名密码和TLS等,可以参考专栏里面其他在linux系统下配置这部分内容的方法,配置方式都是相通的。 Mosquitto的下载地址为:https://mosquitto.org/download/,这里下载Win64版本。二、安装服务 如下所示,一直下一步就好: 这里我装在D盘的,后续方便查看,如下所示: 安装完成后,打开电脑上的服务,查找mosq
2021-09-21 09:06:20
1736
原创 Unbuntu上编译RocketMQ安装
一、资源下载 RocketMQ运行需要JAVA环境,所以需要先下载JDK,下载地址:https://www.oracle.com/java/technologies/downloads/#java16在网页上选择合适的版本下载到Linux服务器上,本文用的是:jdk-16.0.2_linux-x64_bin.tar.gz。 RocketMQ编译需要Maven,下载都只是:https://maven.apache.org/download.cgi#,本文下载的是:apache-maven-3.8.2-
2021-09-20 15:36:41
225
原创 Unbuntu上编译ActiveMQ安装
一、资源下载 emqx编译安装需要先安装openssl,openssl的下载地址为:https://www.openssl.org/source/,本文用的是“openssl-1.1.1c.tar.gz” ActiveMQ运行需要JAVA环境,所以需要先下载JDK,下载地址:https://www.oracle.com/java/technologies/downloads/#java16在网页上选择合适的版本下载到Linux服务器上,本文用的是:jdk-16.0.2_linux-x64_bin.t
2021-09-20 10:01:13
205
原创 Unbuntu上编译RabbitMQ安装
一、资源下载 由于rabbitmq是基于erlang语言开发的,所以必须先安装erlang。下载erlang,下载地址是:http://erlang.org/download/ 在这里下载合适的版本,本文下载的是:“otp_src_24.0.tar.gz”。 然后下载rabbitmq,下载地址是:https://github.com/rabbitmq/rabbitmq-server/releases 在这里下载合适的版本,本文下载的是:“rabbitmq-server-generic
2021-09-19 22:00:46
235
原创 Unbuntu上编译Emqx安装
一、资源下载 emqx编译安装需要先安装openssl,openssl的下载地址为:https://www.openssl.org/source/,本文用的是“openssl-1.1.1c.tar.gz” 下载地址:https://www.emqx.com/zh/downloads?product=broker在网页上选择合适的版本下载到Linux服务器上,本文用的是emqx-ubuntu20.04-4.3-rc.5-amd64.zip,不同的操作系统下载不同的版本。二、编译服务 ①先编译安
2021-09-19 21:20:30
633
原创 Mosquitto设置用户名密码
前面已经有文章讲述过mosquitto配置局网访问,当时配置允许匿名登陆,即是不需要设置用户名和密码的方式登录,在实际开发中,为了安全,用户名密码登录方式是必须的。本文将承接在之前的文章上,继续说明如何配置用户名和密码。 还是打开mosquitto的配置文件mosquitto.conf,先注释掉或者设置allow_anonymous为false,去掉匿名登录,默认allow_anonymous这个字段是注释掉的,其默认值就是false,如下所示: 然后找到“#password_file”一句,
2021-09-19 17:37:57
2759
原创 Mosquitto局域网访问设置
Mosquitto在安装好之后,默认情况下是只允许本机(127.0.0.1)访问,并且是必须要设置用户名密码的,本文将介绍设置Mosquitto的局网访问配置方法和去掉用户名密码限制,后续文章中会讲述如何配置用户名和密码已经配置TLS安全连接等。 Mosquitto的配置文件是mosquitto.conf,如下图所示: 这里打开mosquitto.conf文件,然后先找到如下代码: 将这里去掉#号,然后后面添加绑定的端口,这里默认写1883,可以改成其他端口,如下所示:listener
2021-09-19 17:17:36
2348
原创 Unbuntu上编译Mosquitto安装(无root权限-静态编译)
一、前言 本文中的linux环境是Unbuntu,在其他电脑上的安装方式是一样的。安装mosquitto需要linux系统上安装了openssl库,如果没有安装,需要先安装,然后才能编译mosquitto库(其实如果mosquitto不配置tls的话,也可以不安装openssl,手动修改config.mk配置文件即可)二、资源下载 mosquitto的下载地址:http://mosquitto.org/download/ openssl的下载地址是:https://www.openssl.o
2021-09-19 10:06:09
440
原创 Unbuntu上编译Mosquitto安装(无root权限-动态编译)
一、前言 本文中的linux环境是Unbuntu,在其他电脑上的安装方式是一样的。安装mosquitto需要linux系统上安装了openssl库,如果没有安装,需要先安装,然后才能编译mosquitto库(其实如果mosquitto不配置tls的话,也可以不安装openssl,手动修改config.mk配置文件即可)二、资源下载 mosquitto的下载地址:http://mosquitto.org/download/ openssl的下载地址是:https://www.openssl.o
2021-09-17 23:18:25
177
原创 Unbuntu上编译Mosquitto安装(有root权限)
一、前言 本文中的linux环境是Unbuntu,在其他电脑上的安装方式是一样的。安装mosquitto需要linux系统上安装了openssl库,如果没有安装,需要先安装,然后才能编译mosquitto库(其实如果mosquitto不配置tls的话,也可以不安装openssl,这部分在后面会涉及到)二、资源下载 mosquitto的下载地址:http://mosquitto.org/download/ openssl的下载地址是:https://www.openssl.org/source
2021-09-17 22:01:59
205
原创 python中mqtt配置ssl
本文只是做一个记录,本人在用python中的paho.mqtt.client时,需要建立安全的连接,使用openssl。本来以为需要像其他程序一样从本地加载三个文件,结果尝试很久都有错误,最后解决办法是不需要使用本地的文件,直接用python集成好的即可,代码如下所示:context = ssl.SSLContext(ssl.PROTOCOL_TLS)context.check_hostname = Falseclient.tls_set_context(context)...
2021-09-10 08:53:13
1539
原创 C++11线程池实现
该线程池支持将任意函数(不限返回值和函数参数)作为线程函数,具体代码如下所示:#ifndef JTHREADPOOL_H#define JTHREADPOOL_H#include <list>#include <future>#include <queue>#include <thread>#include <memory>#include <functional>#include <condition_vari
2021-04-26 21:04:38
205
rapidjson.zip
2020-09-02
QRoundProgressBar
2020-08-23
libodb-mysql编译需要的库.7z
2020-05-08
C++ REST SDK编译需要的资源
2020-05-07
Microsoft C++ REST SDK
2020-05-07
cef和ie基于mfc相互通信
2020-01-19
MFCCef2013_Cookie.zip
2020-01-19
VS2019编译VLD的运行库
2019-12-30
VS2019-LibUV1.34.0动态链接库工程(有源码)
2019-12-24
MFC中使用JSONCPP_VS2013
2017-11-10
Linux命令大全
2017-03-24
mfc 图片控件旋转问题,一次旋转90°
2015-05-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人