自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(152)
  • 问答 (1)
  • 收藏
  • 关注

原创 书生浦语笔记1

2024-04-04 01:31:10 107

原创 Numpy学习

numpy学习

2023-06-01 18:02:26 563

原创 Pandas学习

pandas学习

2023-05-31 15:40:47 676

原创 Python基础补全

python学习补全

2023-05-31 15:30:45 712

原创 树梅派4B+docker+Home assistant

raspbian+docker+hass

2023-04-19 01:30:15 431 1

原创 QT学习_场景缩放时图元保持大小并可拖动

图元的子部件(如拖拽点,旋转点)不随视口缩放而缩放,且不影响操作(比如点不到操作点)。

2022-10-18 16:24:33 530

原创 ROS学习_安装与基础

ROS学习基础 发布消息和服务

2022-07-02 11:19:16 209

原创 将ue4程序嵌入qt界面显示

需求:将ue4程序嵌入qt界面显示思路:通过使用 windowsAPI 对ue4窗口进行设置跟随qt界面以及活动窗口时的位置层序设置

2022-06-30 14:18:50 4057 1

原创 PCL实现选框裁剪点云

需求:在屏幕上点击画出多边形,裁剪对应框内的点云。实现:按"x" 绘制多边形 再按"x"裁剪

2022-06-25 13:12:26 3846 7

原创 Qt嵌入网页

Qt嵌入网页1.QWebEngineView使用pro文件:Qt += webenginewidgets头文件:#include <QWebEngineView>、#include <QWebEngineSettings>使用:void Widget::initWebview(){ //创建QWebEngineView,会有一个独立窗口 QWebEngineView* web = new QWebEngineView(); //打开网页插件支持

2022-04-14 14:57:59 1586

原创 QT学习_Menu菜单

Menu菜单void Widget::MenuRequested(QPoint p){ QMenu *menu = new QMenu(this); menu->setAttribute(Qt::WA_DeleteOnClose); menu->addAction("resize",this,[=](){ ui->cw->rescaleAxes(); ui->cw->replot(); }); m

2022-01-08 10:39:30 1510

原创 Protocol

Protocol作用:比json,XML体积小,序列化速度快,传输速度快。但是通用性差,二进制方式存储,需要通过.proto文件查看数据结构语法:Protobuf3语法详解 - 望星辰大海 - 博客园 (cnblogs.com)protocol例子:(通过 .proto文件查看)syntax = "proto3";package rbk.protocol;import "google/protobuf/wrappers.proto";message Message_Map {

2022-01-08 10:34:04 216

原创 QXlsx读写Excel表格

QXlsx读写Excel表格1.下载qtxlsxwriter 下载链接2.将src文件夹下的xlsx放到你的项目中3.项目文件.pro中添加 include(../xlsx/qtxlsx.pri)4.qtxlsx.pri中添加DEFINES += XLSX_NO_LIB创建读取xlsx示例:void MainWindow::on_pushButtoncreate_clicked(){ QXlsx::Document xlsx; xlsx.write("A1","Hello Q

2021-12-16 19:51:24 6841 1

原创 QT学习_http和udp

HTTP需要用到的类:QNetworkRequestQNetworkAccessManagerQNetworkReply{ QString x = ""; QString url = QString("https://<ip address>/<command>/key1=value&key2=value"); QNetworkRequest request; request.setUrl(QUrl(url)); QNet

2021-12-07 18:50:13 1521

原创 QT学习_MVC框架

MVC框架#include <QAbstractItemView>#include <QAbstractItemModel>#include <QDirModel>#include <QTreeView>#include <QListView>#include <QTableView>#include <QSplitter>#include <QApplication>int main(i

2021-11-27 18:29:18 1683

原创 Qt学习_QGraphics进阶学习笔记

QGraphics进阶学习1.保存图片函数QPixmap QWidget::grab(const QRect &rectangle = QRect(QPoint(0, 0), QSize(-1, -1)))Renders the widget into a pixmap restricted by the given rectangle. If the widget has any children, then they are also painted in the appropriate

2021-11-27 18:19:36 4372 3

原创 N阶贝塞尔曲线画法

N阶贝塞尔曲线画法涉及知识:贝塞尔曲线牛顿二项式杨辉三角组合数代码:/** * @brief createNBezierCurve 生成N阶贝塞尔曲线点 * @param src 源贝塞尔控制点 * @param dest 目的贝塞尔曲线点 * @param precision 生成精度 */static void createNBezierCurve(const QVector<QPointF> &src, QVector<QPointF> &

2021-11-11 19:31:15 674

原创 Qt工程文件配置

Qt工程文件配置pro文件TEMPLATE = subdirsCONFIG += orderedDEFINES += QT_NO_WARNING_OUTPUT \ QT_NO_DEBUG_OUTPUTSUBDIRS += \ RoboCoreSUBDIRS += httpserver \ RoMainWindowTEMPLATE=app : 表示该工程建立一个应用程序的makefile。这是默认值,所以如果模板没有被指定,这

2021-11-05 18:17:47 611

原创 opencv学习_矩阵运算和绘制图像

opencv 矩阵运算和绘制图像5.矩阵运算矩阵的创建和加减void MainWindow::test(){ double Anum[3][3] = {{1,1,1}, {2,2,2}, {3,3,3}}; double Bnum[3][3] = {{1,1,1}, {2,2,2}, {

2021-09-30 16:07:13 347

原创 opencv学习_qt显示图片

opencv+qt1.opencv显示图片hpp三个主要函数imgInit():负责加载图片,转换格式等操作imgProc():负责对图片的处理和算法实现imgShow():负责在窗口显示图片#include "opencv2/opencv.hpp"using namespace cv;class MainWindow : public QMainWindow{ Q_OBJECTpublic: MainWindow(QWidget *parent = null

2021-09-29 18:55:57 940

原创 QT_QCustomPlot学习

QCustomPlot学习QCustomPlot默认提供了6个层,如下代码所示,分别是:背景层、网格层、主层、坐标轴层、图例层和矩形选择区域层。1.在一张视图中表现两个线#include "widget.h"#include "ui_widget.h"Widget::Widget(QWidget *parent) : QWidget(parent) , ui(new Ui::Widget){ ui->setupUi(this); demo();}W

2021-09-23 16:51:51 1849

原创 win10安装ubuntu子系统界面

win10 ubuntu子系统+VcXsrv+xfce4下载windows商店下载 ubuntu18.04LTSwin10 下载 VcXsrvubuntu中下载 xfce4桌面配置xfce4桌面Ubuntu中执行以下操作:sudo apt-get install xfce4-terminalsudo apt-get install xfce4打开配置文件sudo vim ~/.bashrc在最下方加入一下命令:export DISPLAY=:0.0export LIBGL_ALWA

2021-09-18 18:18:59 157

原创 点云学习——创建图形

点云学习——创建图形创建图形1.创建线#include <pcl/visualization/common/shapes.h>// The following are given (or computed using sample consensus techniques -- see SampleConsensusModelLine)// Eigen::Vector3f point_on_line, line_direction; pcl::ModelCoefficients

2021-09-17 15:42:11 536

原创 QT+PCL 点云学习

PCL 点云学习概念Point Cloud Libraries 点云库 和opencv处理图像一样,不过是3D图像的处理支持文件格式pcd格式文件PCD不是第一个支持3D点云数据的文件类型,尤其是计算机图形学和计算几何学领域,已经创建了很多格式来描述任意多边形和激光扫描仪获取的点云。包括下面几种格式:l PLY是一种多边形文件格式,由Stanford大学的Turk等人设计开发;l STL是3D Systems公司创建的模型文件格式,主要应用于CAD、CAM领域;l OBJ是从几何学上定义的

2021-09-16 19:15:19 2599 1

原创 QT学习_QListView使用

QListView使用创建一个QStringList创建一个QStringListModelQStringList str;QStringListModel strMod;strMod.setStringList(str);设置QListViewQListView view;view.setModel(strMod);QListView的增删增://列表末尾添加项strMod.insertRow(strMod.rowCount()); //在末尾添加空行QMod

2021-09-02 18:52:07 1783

原创 QT学习_QT调用cmd指令

QT调用Windows的cmd指令知识点QProcess进程的使用process.start( 程序,参数指令 )process.waitForStarted()process.waitForFinished()process.close()cmd指令的使用cmd /c 指令开启程序void MainWindow::on_pushButton_2_clicked(){ QString file = QFileDialog::getOpenFileName(thi

2021-08-26 16:47:57 5616

原创 QT学习_QT远程文件升级

QT文档升级首先写配置文件:[update]filename = "D:\\lesliex\\QTpro\\UpdatePro\\testupdatefile\\file";checkname = "file";代码选择已更新的文件夹void MainWindow::on_pushButton_clicked(){ updateDir = QFileDialog::getExistingDirectory(this,"select Dir",QDir::currentPath()

2021-08-24 11:26:49 948

原创 opencv学习_pthon版opencv基础使用

opencv使用绘制图片#!/usr/bin/env python3# -*- coding: utf-8 -*-def main(args): import cv2 import numpy mat = numpy.zeros((300,400),dtype = numpy.uint8) mat = cv2.cvtColor(mat,cv2.COLOR_GRAY2BGR) cv2.imshow('main',mat) cv2.waitKey() return 0i

2021-08-19 23:34:08 112

原创 opencv学习_安装opencv

opencv安装安装1.python库安装pip3 install --upgrade pippip3 install --user -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-contrib-python若第二个无法使用则使用下面这个pip3 install opencv-python注意这个和上面的包不兼容, 若要安装contrib则需要删除这个包若发现import cv2出现问题1:ImportError: libc

2021-08-19 23:32:34 110

原创 opencv学习_C++编译

Opencv C语言版编译CMake使用make与Makefile相关cmake与CMakeLists.txt相关cmake的优势在于简单步骤:创建demo文件夹当作项目名称创建main.cpp当作源文件创建CMakeLists.txt ,写下以下代码创建build文件夹, 为了和主文件夹的源码区分在build文件夹中执行 “cmake …”(注意"…"为上级目录)编译完成后出现Makefile文件再执行 “make”, 出现可执行文件main.cpp测试代码:#includ

2021-08-19 23:29:38 364

原创 QT学习_log分析器程序

log分析器程序需求文本框显示行数,所在行显示高亮实现拖拽加载,压缩包线程解析,加载log文件查找关键字实现1.打开多个log文件,并按时间排序显示//打开文件void MainWindow::on_actionfile_triggered(){ ui->plainTextEdit->clear(); QStringList fileNames = QFileDialog::getOpenFileNames(this,

2021-08-19 11:33:04 465

原创 QT学习_QT实现拖拽功能

QT实现拖拽功能重写两个虚函数 void dragEnterEvent(QDragEnterEvent *event); void dropEvent(QDropEvent *event);例子void MainWindow::dragEnterEvent(QDragEnterEvent *event){ if(event->mimeData()->hasUrls()){ //若是文件路径则允许拖拽 event->accep

2021-08-18 18:29:36 1868

原创 QT学习_QT解析Json格式文件

QT解析Json格式文件类QJsonDocument类提供了读写JSON文档的方式,我们可以通过该类的方法QJsonDocument::fromJson()将一个JSON文档转换成QJsonDocument类,或者通过QJsonDocument::toJson()和QJsonDocument::toBinaryData()函数将一个QJsonDocument类转换为QByteArray,这样我们就可以很轻松地将其写入文件。QJsonArray封装了JSON中的数组。QJsonObject

2021-08-18 18:14:23 1621

原创 QT学习_QT压缩文件ZIP编译

QT压缩文件ZIP编译环境准备系统变量里加入:C:\Windows\System32D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC准备工具zlib 源码下载:http://www.zlib.net/quazip 源码下载:https://sourceforge.net/projects/quazip/quazip编译博客链接: QT使用quazip解压zip压缩文件zlib编译博客链接:win10下Visual Studio

2021-08-18 18:08:27 537

原创 QT学习_QT图形视图

QT图形视图框架Graphics View一、主要特点系统可以利用openGL工具改善绘图性能支持事件传播体系结构通过二元空间划分树提供快速的图元查找二、三元素场景类(QGraphicsScene):用于放置图元的容器,本身不可见,需要搭配视图类和外界互动.QGraphicsScene::addItem(QGraphicsItem*) : voidQGraphicsScene::removeItem(QGraphicsItem*) : voidQGraphicsScene::it

2021-08-11 16:15:12 452

原创 树梅派硬件学习_xbox手柄驱动

joystick手柄驱动使用xbox手柄手柄测试:ls /dev/input #找到一个js0表示支持joystickcat /dev/input/js0 | hexdump #实时查看手柄的输出, 十六进制显示00000a0 8bb4 0051 0000 0702 8ee8 0051 8001 070200000b0 8f56 0051 0000 0702 9000 0051 8001 070200000c0 9046 0051 0000 0702 9456 0051 7fff 0702

2021-07-31 13:17:12 416

原创 树梅派硬件学习_多线程任务

C++类中的多线程编程目标需要将成员函数变成线程函数步骤:1.创建一个类在类中定义一个开启关闭线程的flag将要加入线程的成员函数定义为static静态函数#include <thread>class Myclass{ bool flag=false;public: Myclass(){} static void func(void* arg); void start(); void stop();};2.定义线程执行函数void Myclass::func

2021-07-31 01:19:20 96

原创 树梅派硬件学习_L298N模块驱动

L298N模块驱动电机L298N模块概述硬件图:控制逻辑图:一. 电源引脚VCC 外接直流电源引脚,电压范围在5~35V之间GND GND是接地引脚,连接到电源负极5V 驱动芯片内部逻辑供电引脚,如果安装了5V跳帽,则此引脚可输出5V电压,为微控板或其他电路提供电力供给,如果拔掉5V跳帽,则需要独立外接5V电源二. 控制引脚1. IN1 & IN2 电机驱动器A的输入引脚,控制电机A转动及旋转角度IN1输入高电平HIGH,IN2输入低电平LOW,对应电机A正转IN1输入低电

2021-07-14 23:47:33 1149

原创 python学习_安装opencv

opencv安装安装pip3 install --upgrade pippip3 install opencv-python若发现import cv2出现问题1:ImportError: libcblas.so.3: cannot open shared object file: No such file or directory解决sudo apt-get install libatlas-base-dev问题2:ImportError: numpy.core.multiar

2021-07-14 10:59:20 71

原创 树梅派硬件编程_红外遥控器

红外遥控器红外遥控原理用户码或数据码中的每一个位可以是位‘1’,也可以是位‘0’。区分‘0’和‘1’是利用脉冲的时间间隔来区分,这种编码方式称为脉冲位置调制方式,英文简写PPM。红外接收头的型号有很多HS0038 VS838等 功能大致相同,只是引脚封装不同。红外接收有几种统一的编码方式,采样哪种编码方式取决于遥控器使用的芯片,接收头收到的都是一样的。电视遥控器使用的是专用集成发射芯片来实现遥控码的发射,如东芝TC9012,飞利浦AA3010T等,通常彩电遥控信号的发射,就是将某个按键所对应的控制

2021-07-13 18:24:53 233

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除