C++/Qt 小知识记录3

这篇具有很好参考价值的文章主要介绍了C++/Qt 小知识记录3。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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后是否需要控制台的设置在这里):
C++/Qt 小知识记录3


实体与值对象

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


Visual Studio系列IDE快捷操作

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

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

C++/Qt 小知识记录3

同一份代码文件分屏阅读

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

C++/Qt 小知识记录3


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

分享的压缩包内容:
C++/Qt 小知识记录3

  1. 启动后界面(尽可能地小,以及核心功能尽可能一目了然):
    控制(启停)、录制时间、录制配置、收缩/展开界面
    C++/Qt 小知识记录3
    收缩后更小了:
    C++/Qt 小知识记录3
    录制时:
    C++/Qt 小知识记录3
    单击右键菜单:
    C++/Qt 小知识记录3

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

  1. 托盘处的关联
    (最小化后可在这里找到)
    C++/Qt 小知识记录3

  2. 配置操作
    通过单击右键弹出的菜单,点击【配置】后,进入相关参数的选择,关闭界面后,会对配置进行本地化保存(同级目录下的screen_config.json文件):文章来源地址https://www.toymoban.com/news/detail-453018.html

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

到了这里,关于C++/Qt 小知识记录3的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • flutter遇到的小问题记录

    Get.bottomSheet( isScrollControlled: true,) isScrollControlled: true 就是控制高度 (无语) 如果是url 可以直接File(url) 如果是Uint8List 使用下面的方法 可以使用本地图片

    2024年02月13日
    浏览(28)
  • 记录关于github学生认证遇到的问题

    这里要去设置里面修改昵称和简介,网上说改完可能要等一会再继续提交申请,然后我等了很久他还没更新,换了个浏览器就好了(谷歌–edge) 用的是教育邮箱和学信网教育部学籍在线验证报告,图片用的jpg格式,不用拍照,直接把图片托上去就行,学信网教育部学籍在线

    2024年02月11日
    浏览(51)
  • docker构建镜像时遇到的问题记录

    很长时间没管那个项目了,今天迭代新功能的时候docker报如下错误:**docker : Error response from daemon :0CI runtime create failed : container _ linux - go :349:starting container process caused \\\" process _ linux - go :319: getting the final child ’ s pid from pipe caused \\\" EOF \\\"": unknown .**记录一下相关解决方案。 原因

    2024年02月11日
    浏览(33)
  • C++/Qt 小知识记录3

    工作中遇到的一些小问题,总结的小知识记录:C++/Qt 生成VS工程后,在这里联动(反知:创建的VS工程里,关于启动exe后是否需要控制台的设置在这里): 实体(Entity) : 主要 由标识定义的对象 。 它可以是任何事物,只要满足两个条件即可,一是它在整个生命周期中具有

    2024年02月05日
    浏览(23)
  • 在Docker中安装kafka遇到问题记录

    命令含义解答: 在docker安装kafka的时候,启动kafka的时候会执行下面语句: 那么 docker run -d --log-driver json-file --log-opt max-size=100m --log-opt max-file=2 --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=192.168.11.129:2181/kafka -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.11.129:9092 -e KAFKA_L

    2024年02月03日
    浏览(42)
  • vue2项目打包遇到的问题(记录)

    临时纯手工搭建开发了个vue2小项目,打包后出现了很多问题 一、打包后index.html打开空白 打包后整个页面空白,是因为打包后资源路径不对,需要修改config-index.js下, build 属性中assetsPublicPath值为 ./ 二、打包后图片等静态资源无法显示 需要修改build下utils.js文件,新增一句话

    2024年02月16日
    浏览(30)
  • QT遇到资源文件不显示的问题这样解决

    在本例中需要利用画家画出资源图片 第一次没有顺利画出,有以下几点原因 1、注意后缀名格式 本例中如果使用了3.7PNG,在描绘的时候如果用如下代码是无法显示图片的,注意大小写  painter.drawPixmap(20,100,QPixmap(\\\"://捕获/1.png\\\")); .png和.PNG是不同的。 2、注意/和的区别 最简单的

    2024年02月11日
    浏览(36)
  • 记录 Linux centos 安装tomact遇到的问题

         如果在安装时 觉得自己什么都安装好了,什么也设置好了,包括阿里云的安全组,但是依旧不能进行访问Tomact的主页,你可以查看一下 catalina.out这个文件,出现以下错误这表示 tomact和Java本版有冲突所以一直无法访问, Tomcat 10 与 JDK1.8不匹配,采用Tomcat 9解决问题 卸载

    2024年02月11日
    浏览(46)
  • 记录SpringCloud使用Zookeeper做服务中心遇到的问题

    1、使用的zookeeper是安装在本机的虚拟机中,网络调通(通过ping命令测网络) 2、启动spring程序,报错看不到services 报错信息就不打出来了。 WatchedEvent state:SyncConnected type:None path:null zxid: -1 [zk: localhost:2181(CONNECTED) 0] ls / [zookeeper] 1、检查spring程序写的ip和端口 2、在windows的CMD使用

    2024年02月07日
    浏览(24)
  • 记录JDBC连接MySQL数据库时遇到的问题

    记录使用 JDBC连接数据库的时候遇到的问题 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 可以参考这篇 java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 博主总结的很全,就不赘述了~ com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The last packet successfully received from the

    2024年02月10日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包