C++/Qt 小知识记录3

news2024/11/26 15:31:24

工作中遇到的一些小问题,总结的小知识记录: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指令时,扩展出来的接口,如果只当作工具用,可以不用关心。
    在这里插入图片描述
    以下是高级模式内容,【合并基础配置指令】按钮点击后,会把中间部分选择的参数合并指令后,提供到编辑界面展示,可以基于此继续修改。
    在这里插入图片描述
    如果自定义的指令不合规范,录制的视频不正确导致无法输出,会弹出错误提示:
    在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【网络编程】网络基础知识总结

文章目录 一、局域网与广域网二、协议2.1 协议的概念2.2 协议分层2.3 数据传输的条件 三、OSI七层模型四、TCP/IP五层&#xff08;四层&#xff09;模型五、网络传输5.1 预备知识——报头5.2 局域网通信原理5.3 以太网和令牌环网5.3 网络传输流程图5.3.1 同一网段的两台计算机的…

海岛旅行回忆总结(不定更)

文章目录 概述大辣甲岛外伶仃岛、东澳岛长洲、南丫岛下川岛 概述 喜欢大海&#xff0c;与海滩相比&#xff0c;海岛的空气更好、海水更靓、人更少、污染更少 海岛位置日期天气小结大辣甲岛惠州2017年7月29~30日台风前夕&#xff0c;云淡风轻&#xff0c;阳光猛烈开发程度低&…

分享2款CSS3母亲节主题寄语文字动画特效

目录 ❤️ 前言 第一款&#xff1a;妈妈您辛苦了&#xff01; 一、效果图 二、代码实现 第二款&#xff1a;Mothers Day&#xff01; 一、效果图 二、代码实现 ❤️ 祝福 ❤️ 前言 母亲节&#xff0c;在每年五月的第二个星期日&#xff0c;是用来感谢母亲的节日。…

SpringAOP

SpringAOP 一、AOP1. AOP简介1.1 AOP简介和作用1.2 AOP中的核心概念 2. AOP入门案例【重点】2.1 AOP入门案例思路分析2.2 AOP入门案例实现【第一步】导入aop相关坐标【第二步】定义dao接口与实现类【第三步】定义通知类&#xff0c;制作通知方法【第四步】定义切入点表达式、配…

阿里云g8i服务器Intel Xeon(Sapphire Rapids) Platinum 8475B

阿里云服务器ECS通用型实例规格族g8i采用2.7 GHz主频的Intel Xeon(Sapphire Rapids) Platinum 8475B处理器&#xff0c;3.2 GHz睿频&#xff0c;g8i实例采用阿里云全新CIPU架构&#xff0c;可提供稳定的算力输出、更强劲的I/O引擎以及芯片级的安全加固。阿里云百科分享阿里云服…

< C++ >lesson2.C++入门下

文章目录 1. 内联函数❤️1.1 内联函数的定义1.2 特性 2. auto关键字&#x1f90d;2.1 auto简介2.2 auto使用细则2.3 auto不能进行推导的场景 3. 基于范围的for循环&#x1f9e1;3.2 范围for的条件 4. nullptr指针&#x1f49a; 1. 内联函数❤️ 在C语言中有宏函数的概念&…

【嵌入式】Modbus实践

前言 最近接了一个项目&#xff0c;需要使用Modbus协议&#xff0c;虽然之前有所耳闻&#xff0c;但一直没有实操过&#xff0c;但实践之后发现其实还是很简单的&#xff0c;我认为它本质上就是对串口传输进行“二次封装”。 建议的入门顺序 大神带你秒懂Modbus通信协议——理…

【zotero】从知网万方维普WOS等数据库上导出格式引文-引文格式到zotero中

一、问题背景 最近新中特课要交课程论文作业了&#xff0c;老师说要有参考文献引注。 于是我找了很多参考文献&#xff0c;但是不打算放在我的zotero文献库中&#xff0c;因为我不想我的zotero文献库中包括与我专业学习不相关的东西。 鉴于导入文献后识别成引注后续导出打包…

iOS开发之Masonry框架源码深度解析

Masonry是iOS在控件布局中经常使用的一个轻量级框架&#xff0c;Masonry让NSLayoutConstraint使用起来更为简洁。Masonry简化了NSLayoutConstraint的使用方式&#xff0c;让我们可以以链式的方式为我们的控件指定约束。本篇博客的主题不是教你如何去使用Masonry框架的&#xff…

1992-2022年31省人均gdp/各省人均地区生产总值

1992-2022年31省人均gdp/各省人均地区生产总值 1、时间&#xff1a;1992-2022年 2、来源&#xff1a;国家统计J、各省NJ 3、范围&#xff1a;包括31省 4、缺失情况说明&#xff1a;无缺失 5、指标包括&#xff1a;各省人均GDP/省人均地区生产总值 6、指标解释&#xff1a…

sql注入(二)盲注,二次注入

目录 一、布尔盲注 1.判断库名的长度 2.判断数据库名 2.1判断数据库名首字符 2.2 判断数据库名的其余字符 二、时间盲注&#xff1a; 1.判断库名的长度 2.判断库名&#xff1a; 3.判断表名payload&#xff1a; 4.爆出列名 5.爆数据 三、二次注入 1.原理&#xff1a; …

Linux 常用操作技巧

Linux 操作技巧大全 Linux是一种强大的操作系统&#xff0c;掌握各种操作技巧可以帮助我们惬意地使用它。在这篇博客中&#xff0c;我们将分享一些实用的Linux技巧&#xff0c;希望能对您有所帮助&#xff01; 1. 使用Tab进行自动补全 在输入命令时&#xff0c;按下Tab键可…

漫谈大数据 - 数据湖认知篇

导语&#xff1a;数据湖是目前比较热的一个概念&#xff0c;许多企业都在构建或者准备构建自己的数据湖。但是在计划构建数据湖之前&#xff0c;搞清楚什么是数据湖&#xff0c;明确一个数据湖项目的基本组成&#xff0c;进而设计数据湖的基本架构&#xff0c;对于数据湖的构建…

Embarcadero Delphi 11 和 C++Builder 11 免费社区版发布!

Embarcadero为Delphi和CBuilder的最新11.3版本提供了社区版许可证。这是Delphi或CBuilder的免费版本&#xff0c;适用于学生&#xff0c;业余爱好者和初创公司&#xff08;因为许可证仅对于收入有限的公司或个人&#xff09;。 什么是CE社区版&#xff1f; Delphi 和 CBuilde…

【Git 入门教程】第七节、Git 远程仓库(Github)

GitHub是一个基于Git的代码托管平台&#xff0c;它是全球最大的开源软件社区之一。GitHub允许开发者在上面创建和托管他们的Git仓库&#xff0c;并与其他开发者进行协作。 GitHub是一个非常流行的Git工具&#xff0c;它是开源社区的重要组成部分&#xff0c;并支持许多著名的开…

【MySQL】交叉连接、自然连接和内连接查询

一、引入 实际开发中往往需要针对两张甚至更多张数据表进行操作&#xff0c;而这多张表之间需要使用主键和外键关联在一起&#xff0c;然后使用连接查询来查询多张表中满足要求的数据记录。一条SQL语句查询多个表&#xff0c;得到一个结果&#xff0c;包含多个表的数据。效率高…

测试人员的启蒙指南

文章目录 一. 了解测试1. 生活中的测试场景2. 什么是软件测试3. 实战练习 二. 软件测试和软件开发的区别三. 软件测试和软件调试的区别四. 软件测试的发展五. 软件测试的岗位六. 一个优秀的软件测试人员具备的素质 本篇中介绍测试人员是干什么的, 起到启蒙和了解的作用, 重点是…

A 股指数分时行情数据 API 数据接口

A 股指数分时行情数据 API 数据接口 多维度分时指标&#xff0c;指数分时&#xff0c;多时间区间查询参数。 1. 产品功能 支持所有指数数据查询&#xff1b;支持指数分时数据查询&#xff1b;多时间维度分时数据&#xff1b;多维度的统计时间以及数据结果&#xff1b;秒级查询…

linux系统应用中select函数与poll函数详解

目录 第一&#xff1a;poll()函数详解 第二&#xff1a;select()函数详解 第一&#xff1a;poll()函数详解 1 poll函数概述 select() 和 poll() 系统调用的本质一样&#xff0c;poll() 的机制与 select() 类似&#xff0c;与 select() 在本质上没有多大差别&#xff0c;管理多…

外设驱动库开发笔记53:MAX31856热偶变送器驱动

在我们的产品中经常有需要温度检测的地方&#xff0c;而热电偶温度检测电路是我们常用的。热电偶温度检测的方法很多&#xff0c;有时出于简单方便的考虑我们会选择热偶温度变送器来实现&#xff0c;这一篇我们就来讨论使用MAX31856热电偶温度变送器实现温度的检测。 1、功能概…