C++/Qt 小知识记录3

工作中遇到的一些小问题,总结的小知识记录:C++/Qt

小知识

  • QLineEdit限制输入大于0的正整数
  • QLayout内清空已布局的Widget
  • Windows结束进程
    • 直接结束,子进程不响应结束事件
    • 正常结束,子进程响应结束事件
  • CMake关闭控制台Console
  • 实体与值对象
  • Visual Studio系列IDE快捷操作
    • 从代码编辑文本处定位到对应解决方案资源树的工程类别:
    • 同一份代码文件分屏阅读
  • FFMPEG录屏
    • 超快捷录屏指令
    • BScreenR录屏小工具

QLineEdit限制输入大于0的正整数

QRegExp regExp("^[1-9][0-9]*$ 和 ^[1-9]{1}[/d]*$");  //正则表达式:只能输入大于0的正整数
ui->lineEdit->setValidator(new QRegExpValidator(regExp, this));

QLayout内清空已布局的Widget

QWidget* pRootWidget = ui->stackedWidget_list->widget(0);
QVBoxLayout* pLayout = dynamic_cast<QVBoxLayout*>(pRootWidget->layout());
if (NULL != pLayout)
{
	QLayoutItem* child;
	while ((child = pLayout->takeAt(0)) != 0) 
    {
	     QWidget* pWidget = child->widget();
	     if (NULL != pWidget)
	     {
	         pWidget->setParent(NULL);
	         pLayout->removeWidget(pWidget);
	         delete pWidget;
	     }
	     delete child;
     }
}

Windows结束进程

直接结束,子进程不响应结束事件

// 直接结束,子进程不响应结束事件
HANDLE hProcess = ::OpenProcess(PROCESS_TERMINATE, FALSE, m_PID); //获取进程句柄
::TerminateProcess(hProcess, 0);    //结束进程
CloseHandle(hProcess)

正常结束,子进程响应结束事件

// 正常结束,子进程响应结束事件
std::stringstream ss;
ss << "TASKKILL /pid " << m_PID << " -t";
system(ss.str().c_str());
taskkill /f /t /im chrome.exe
/f 表示强制终止进程。如果不指定,那么 taskkill 会给进程发送终止信号,但进程可以阻止退出(例如提示文档需要保存)。指定了,就会强杀进程。
/t 表示结束此进程和其子进程。
/im 用来指定进程的影映像名称(有 .exe 后缀)。
(摘自:https://blog.csdn.net/WPwalter/article/details/107034597)

CMake关闭控制台Console

# 关闭控制台Console
set_property(TARGET ${PROJECT_NAME} PROPERTY LINK_FLAGS "/SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup")

生成VS工程后,在这里联动(反知:创建的VS工程里,关于启动exe后是否需要控制台的设置在这里):
在这里插入图片描述


实体与值对象

实体(Entity)
主要由标识定义的对象 。 它可以是任何事物,只要满足两个条件即可,一是它在整个生命周期中具有连续性;二是它的区别并不是由那些对用户非常重要的属性决定的。
值对象 (Value Object)
用于描述领域的某个方面而本身没有概念的对象称为值对象,值对象被实例化之后用来表示一些设计元素,对于这些设计元素,我们只关心它们是什么,不关心它是谁。


Visual Studio系列IDE快捷操作

从代码编辑文本处定位到对应解决方案资源树的工程类别:

当工程大了,对应到资源树下找指定文件,或指定文件临近的文件时,很适用;

在这里插入图片描述

同一份代码文件分屏阅读

当cpp的代码太长,需要上下文你对比时很有用

在这里插入图片描述


FFMPEG录屏

超快捷录屏指令

ffmpeg -f gdigrab -i desktop -q:v 0.01 -vcodec mpeg4 -f mp4 out.mp4

BScreenR录屏小工具

因为工作临时涉及对录屏相关简单需求的实现,于是针对基于ffmpeg指令调用方式,做了一个小小的录屏软件。
一是为了尽快熟悉ffmpeg相关的知识,并及时用起来;二是苦于网上的录屏软件大多收费或有水印,或者太专业复杂,我只想要一个简单的录制功能自己使用。
工具很简单也肯定由于专业知识的缺失,导致不够成熟,不过能够满足自己及时、随手录制的简单需求,目前就够了,如果以后有机会深入一点,可以尝试继续完善。

链接:https://pan.baidu.com/s/1QosD-WVUrpjSD9ER5IQn0w
提取码:mn8n

分享的压缩包内容:
在这里插入图片描述

  1. 启动后界面(尽可能地小,以及核心功能尽可能一目了然):
    控制(启停)、录制时间、录制配置、收缩/展开界面
    在这里插入图片描述
    收缩后更小了:
    在这里插入图片描述
    录制时:
    在这里插入图片描述
    单击右键菜单:
    在这里插入图片描述

录制完成后会自动弹出已录制好的视频文件目录。

  1. 托盘处的关联
    (最小化后可在这里找到)
    在这里插入图片描述

  2. 配置操作
    通过单击右键弹出的菜单,点击【配置】后,进入相关参数的选择,关闭界面后,会对配置进行本地化保存(同级目录下的screen_config.json文件):

  • 支持导出目录设置、快捷键设置以控制录屏的启停;
  • 中间部分为扩展出的部分基础参数,提供到界面设置;
  • 高级模式,我是用来调更多的ffmpeg指令时,扩展出来的接口,如果只当作工具用,可以不用关心。
    在这里插入图片描述
    以下是高级模式内容,【合并基础配置指令】按钮点击后,会把中间部分选择的参数合并指令后,提供到编辑界面展示,可以基于此继续修改。
    在这里插入图片描述
    如果自定义的指令不合规范,录制的视频不正确导致无法输出,会弹出错误提示:
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/20444.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

尾调用优化

尾调用优化 最近遇到一个堆栈溢出的问题&#xff0c;分析后发现可收敛为递归边界问题。结合“红宝书”中相关内容和ES6规范中的一些优化机制&#xff0c;整理记录如下。 前言 程序运行时&#xff0c;计算机会为应用程序分配一定的内存空间。应用程序会自行分配所获得的内存空…

数组或结构体赋值时memcpy与直接赋值的效率比较

先上结论&#xff1a; 二者不一定谁快通常情况下&#xff0c;数组维度越大&#xff0c;使用memcpy效率更高数组维度越大&#xff0c;直接赋值耗时主体是循环耗时 Note&#xff1a; “等号赋值”被编译器翻译成一连串的MOV指令&#xff0c;而memcpy则是一个循环。“等号赋值”比…

深入解析PyTorch中的模型定义:原理、代码示例及应用

❤️觉得内容不错的话&#xff0c;欢迎点赞收藏加关注&#x1f60a;&#x1f60a;&#x1f60a;&#xff0c;后续会继续输入更多优质内容❤️ &#x1f449;有问题欢迎大家加关注私戳或者评论&#xff08;包括但不限于NLP算法相关&#xff0c;linux学习相关&#xff0c;读研读博…

【一起啃书】《机器学习》第六章 支持向量机

文章目录 第六章 支持向量机6.1 间隔和支持向量6.2 对偶问题6.3 核函数6.4 软间隔与正则化6.5 支持向量回归6.6 核方法6.7 一些问题 第六章 支持向量机 6.1 间隔和支持向量 给定训练样本集 D { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x m , y m ) } , y i ∈ { − 1 , …

Day 1 认识软件测试——(软件测试定义、目的、原则)

Day 1 认识软件测试——(软件测试定义、目的、原则) 文章目录 Day 1 认识软件测试——(软件测试定义、目的、原则)软件测试的定义软件测试的目的软件测试的经济学问题黑盒测试白盒测试软件测试原则小结所谓软件测试,就是一个过程或一系列过程,用来确定计算机代码完成了其…

《我命由我不由天》蔡志忠——笔记一

目录 简介 经典摘录 三岁决定一生 父母该什么时候放手 确定将来要成为什么 积极主动为目标而努力 叛逆是最伟大的创意 父亲给蔡志忠最大的影响是教会他两件事 价值观缺陷导致的后果 人有三个阶段 简介 作者 蔡志忠&#xff0c;李虹。 蔡志忠&#xff1a;漫画家、哲…

Vue加SpringBoot实现项目前后端分离

首先需要搭建一个Vue的脚手架项目&#xff08;已经放在gitee里面了&#xff0c;下面是gitee网址&#xff0c;可以直接拉&#xff09; (vue-web: 这个是Vue项目模板&#xff0c;没有后台数据) 那么接下来就是实现前后端分离的步骤 首先我们需要有一个登录页面 登录的点击事件利用…

图神经网络:(节点分类)在KarateClub数据集上动手实现图神经网络

文章说明&#xff1a; 1)参考资料&#xff1a;PYG官方文档。超链。 2)博主水平不高&#xff0c;如有错误还望批评指正。 3)我在百度网盘上传了这篇文章的jupyter notebook。超链。提取码8888。 文章目录 文献阅读&#xff1a;代码实操&#xff1a; 文献阅读&#xff1a; 参考文…

【Hello Algorithm】归并排序及其面试题

作者&#xff1a;小萌新 专栏&#xff1a;算法 作者简介&#xff1a;大二学生 希望能和大家一起进步 本篇博客简介&#xff1a;介绍归并排序和几道面试题 归并排序及其面试题 归并排序归并排序是什么归并排序的实际运用归并排序的迭代写法归并排序的时间复杂度 归并排序算法题小…

(十一)地理数据库创建——创建新的地理数据库

地理数据库创建——创建新的地理数据库 目录 地理数据库创建——创建新的地理数据库 1.地理数据库概述2.地理数据库建立一般过程2.1地理数据库设计2.2地理数据库建立2.2.1从头开始建立一个新的地理数据库2.2.2移植已经存在数据到地理数据库2.2.3用CASE工具建立地理数据库 2.3建…

Python 科研绘图可视化(后处理)Matplotlib - 2D彩图

Introduction 科研可视化是将数据和信息转化为可视化形式的过程&#xff0c;旨在通过图形化展示数据和信息&#xff0c;使得科研工作者能够更好地理解和分析数据&#xff0c;并从中发现新的知识和洞见。科研可视化可以应用于各种领域&#xff0c;如生物学、物理学、计算机科学…

C++类和对象再探

文章目录 const成员再谈构造函数成员变量的定义函数体内赋值初始化列表 隐式类型转换explicitstatic成员 const成员 我们知道在调用类的成员函数时,会有一个默认的this指针且这个this指针时不可以被修改的,例如在日期类中,会有隐式的Date * const this;注意这里默认会在this前…

一五一、web+小程序骨架屏整理

骨架屏介绍 请点击查看智能小程序骨架屏 车载小程序骨架屏 车载小程序为方便开发者设置骨架屏&#xff0c;在智能小程序的基础上抽取出骨架屏模板&#xff0c;开发者只需要在 skeleton 文件夹下配置config.json&#xff08;page 和骨架屏的映射关系文件&#xff09;即可生效骨…

第十四届蓝桥杯青少组模拟赛Python真题 (2022年11月8日)

第十四届蓝桥杯青少组模拟赛Python真题 (2022年11月8日) 编程题 第 1 题 问答题 二进制位数 十进制整数2在十进制中是1位数,在二进制中对应10,是2位数。 十进制整数22在十进制中是2位数,在二进制中对应10110,是5位数。 请问十进制整数2022在二进制中是几位数? 第2题问…

Pr 拍立得风格图片展示

哈喽&#xff0c;各位小伙伴&#xff01;今天我们来学习一下如何制作拍立得风格的照片展示效果&#xff1f; 新建三个序列 在开始之前&#xff0c;我们需要新建三个序列 序列1&#xff1a;总合成-尺寸1902*1080序列2&#xff1a;照片合成-尺寸1920*1080序列3&#xff1a;照片…

自动驾驶TPM技术杂谈 ———— I-vista验收标准(试验规程)

文章目录 术语介绍试验准备场地要求环境要求精度要求边界车辆&路沿石 试验方法能力试验双边界车辆平行车位白色标线平行车位双边界车辆垂直车位白色标线垂直车位方柱垂直车位双边界车辆斜向车位白色标线斜向车位 新功能评价平行车位远程操控泊入泊出试验垂直车位远程操控泊…

能伸展脖子的机器人?东京大学最新研究成果:基于鸵鸟肌肉骨骼结构和行为,具有高度灵活性的新型机械臂—RobOstrich(附论文)

原创 | 文 BFT机器人 得益于高度灵活的颈部&#xff0c;鸟类可以做很多事情&#xff0c;无论是转过头梳理自己的后背&#xff0c;在飞行过程中“眼观六路”&#xff0c;还是在地面或树上难以触及的角落和缝隙寻找食物。而在所有鸟类中&#xff0c;鸵鸟以其结实灵巧的颈部脱颖而…

​ NISP一级备考知识总结之信息安全概述、信息安全基础

参加每年的大学生网络安全精英赛通过初赛就可以嫖一张 nisp&#xff08;国家信息安全水平考试&#xff09; 一级证书&#xff0c;nisp 一级本身没啥考的价值&#xff0c;能白嫖自然很香 1.信息安全概述 信息与信息技术 信息概述 信息奠基人香农认为&#xff1a;信息是用来消…

【Linux】如何实现单机版QQ,来看进程间通信之管道

学会了管道&#xff0c;就可以实现简单的qq哦~ 文章目录 前言一、匿名管道总结 前言 为什么要进行进程间通信呢&#xff1f;因为需要以下这些事&#xff1a; 数据传输&#xff1a;一个进程需要将它的数据发送给另一个进程 资源共享&#xff1a;多个进程之间共享同样的资源。 …

ChatGPT实现旅行安排

工作之余&#xff0c;出门旅行一趟放松放松身心&#xff0c;是对自己辛勤工作最好的犒劳方式之一。旅行可以近郊游、可以远游&#xff0c;可以穷游&#xff0c;可以自驾游&#xff0c;可以一言不合打飞的喂鸽子&#xff0c;方式多种多样。但是多数情况&#xff0c;我们是到一个…